我正在尝试实现一个Soft-deletable存储库.通常,使用Delete Event侦听器可以轻松完成此操作.要过滤掉已删除的实体,我可以将Where属性添加到我的类映射中.但是,我还需要在此实体的存储库中实现另外两个方法:还原和清除.恢复将"取消删除"实体,清除将硬删除它们.这意味着我不能使用Where属性(因为它阻止了软删除的实体到任何访问)
我尝试使用过滤器.我可以创建一个过滤器并在会话中启用或禁用它以获得相同的结果.但问题是过滤器对Session.Get方法没有任何影响(它们只影响基于ICriteria的访问).
关于如何解决这个问题的任何想法?
谢谢