AsBag、Inverse、Cascade.AllDeleteOrphan としてマップされた子コレクションを持つ NHibernate オブジェクトがあります。
削除されたオブジェクトを再永続化する必要があるシナリオがあります。
親オブジェクトを削除しても問題ありません。親と子はデータベースから削除されます。
問題は、削除されたオブジェクトを再保存/永続化する必要があることです。SaveUpdate を呼び出そうとすると、StaleObjectStateException が発生します。これは、親オブジェクトと子オブジェクトの Id フィールドがまだゼロ以外の値に設定されているためです。
確かに、削除時に親の Id を強制的にゼロにすることはできますが、子の Id を強制的にゼロにするのは面倒です。
これを処理するためのより良い戦略はありますか?
どうもありがとう