私のドメイン駆動型デザインでは、Carというエンティティがあります。ホイール。エンティティとNHibernateの永続性を含むドメイン駆動型デザイン
ここで、車のエンティティにChangeWheelメソッドを追加します。車輪を変更しても、実際に車のエンティティが変更されるわけではありません。ホイールコレクションのエンタイトの1つにのみ影響します。私。 CarエンティティにはIList属性があります。私のデータベーススキーマでは、私は車輪の参照を持っていない車のエンティティを持っている - むしろ、車輪のテーブルはCarIdの外部キーを持っています。
私は車の車輪を変更すると、特定の車輪のレコードを更新します。私が更新したい唯一の他のテーブルは、データベース内のバージョン監査テーブルです。
NHibernate経由でリポジトリからCarエンティティを抽出し、ChangeWheel(...)をコールして再度セーブすると、NHibernateがカーレコードの新しいバージョンを保存しないように設定できますか?
これはすべて意味があることを願っています。
良いORMは、レコードのデータが実際に変更された場合にのみデータベーステーブルにデータを保存する必要があります。 –