質問は次のとおりです。型から継承する場合にエンティティ参照を削除しないようにする規則を作成するにはどうすればよいRoot
ですか。
私は流暢なnhibernateを使用しており、それは自動マッピング機能です。デフォルトでカスケード削除をオンにしました。
別のルートを参照する集約ルートを実際に削除する必要がある場合に最終的に問題が発生するまで、すべてが本当にクールでした。
私はルーツを手に入れましUser
たApplication
。User
レジスタApplications
。User
誤って登録された場合、ロールで削除できる時間差がわずかにありAdmin
ます(そのデータは必要ないと確信しています)。
をUser
削除Application
すると、カスケード削除のため、nhibernateはUser
それ自体を削除します(皮肉なことに...)。
[アプリケーション]->[ユーザーの関連付け]のみにカスケードするSaveUpdateを指定する方法がわかりません。
トリックを行います:
m.References(x=>x.RegisteredBy).Cascade.SaveUpdate(); //RegisteredBy.Type==User
さらに、オーバーライドを探す場所をfnhに伝えました。
var m=new AutoPersistenceModel(storeCfg);
m.UseOverridesFromAssembly(assembly);