是否可以重载Session.Delete()
行为以不从 DB 执行实际删除但将int State
列的值更新为特殊删除的值?并且通过方法限制然后加载已删除的实体会很好GetAll()
。
问问题
83 次
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 回答