私は現在、金融アプリケーションを作成しており、非常に標準的な顧客テーブルがあります。多くの必須フィールドと、Cell/Fax などのオプション フィールドで構成されています。NHibernate を ORM として使用しており、すべてのマッピングが正しく行われています。すでに機能しています。
コメントせずにフィールドがnullではないことをコードで「表現」するにはどうすればよいのでしょうか。これを文書化した hbm.xml ファイルがありますが、このようなことを調べるのはちょっと厄介です。
他に思いつくのは、レポジトリが自分のロジックで NHibernate 例外をスローしないようにすることです。そのため、コントローラーで検証ルートに進む必要があるかもしれません。それでも、一部のフィールドが null になる可能性があることを POCO コードで表現するにはどうすればよいでしょうか?
ご覧のとおり、携帯電話とファックスはオプション、電話は必須にしたいと考えています。これらはすべて単なる複合マッピングであるため、マッピング ファイルでは、それぞれの単一要素が非 null でなければならないことを指定しているだけですが、NullReferenceException が発生するのを避けるために、Person.Cellular != null チェックを常に実行するのは嫌いです。