複数のクラスに値の型のリストがあるモデルがあります。
class Foo { public List<ValType> Vals; }
class Bar { public List<ValType> Vals; }
Foo と Bar は、両方にこれらの val が含まれていることを除けば、無関係です。ValTypes の追加、削除などのルールはクラスごとに異なります。このデザインをコードに残したいと思います。
たとえば、いくつかの Val を Foo から Bar にコピーしたい場合があります。データベースでは、各 ValType に独自のテーブルがあり、サイズを小さく軽量に保ち (親 ID + 2 つのフィールドのみ)、整合性チェックを可能にします。NHibernate が、オブジェクトをデータベースと同じくらい細かく保つべきだと言っていることは知っていますが、それは私のコードを醜くするだけです。
私がこれまでに考えた最善の方法は、ValType の個別のサブクラスを、親ごとに 1 つずつ作成することです。次に、そのレベルでそれらをマッピングできます。次に、追加ロジックと削除ロジックを接続して、適切なサブクラス間で自動変換し、適切なサブクラス タイプを持つプライベート リストにそれらを実際に格納します。しかし、これは少し複雑だったようです。
これをNHibernate(可能であればFluent NHibernate)でどのようにマッピングできますか?
これが重複している場合はお知らせください。これを検索する方法がよくわかりません。