0

Session.Delete()DBからの実際の削除を実行せずに、int State列の値を特別に削除された値に更新するように動作をオーバーロードすることは可能ですか? GetAll()また、削除されたエンティティの読み込みをメソッドごとに制限するとよいでしょう。

4

1 に答える 1

3

この種の削除は、ソフト削除と呼ばれます。次のように、インターセプターを使用してオーバーライドSession.Delete()し、クラス マッピングで使用whereして式を定義できます。

<class where="State=0" ...>

Gabriel Schenker が nhforge.org で例を挙げています: http://nhibernate.info/blog/2008/09/06/soft-deletes.html

于 2012-06-18T17:59:02.140 に答える