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 回答