nhibernate截取选择查询

nhibernate截取选择查询,nhibernate,interceptor,select-query,Nhibernate,Interceptor,Select Query,我在看nhibernate拦截器。它似乎能够截取保存、更新和删除查询,但我是否仍然可以截取选择查询 我遇到的问题是,在某些情况下,我自动希望在执行的sql语句中附加一些额外的sql过滤器 有什么想法吗 谢谢 Mat拦截器框架只允许您拦截实体操作,如保存、更新和删除。查询本身不会被拦截,只有实体操作(选择/查看不算在内) 考虑对附加到ICriteria的一组查询类使用某种类型的继承,以满足您的需要。我认为您可以使用定制的NHibernate持久器来实现这一点;但是,我很难找到如何编写的示例…您可以

我在看nhibernate拦截器。它似乎能够截取保存、更新和删除查询,但我是否仍然可以截取选择查询

我遇到的问题是,在某些情况下,我自动希望在执行的sql语句中附加一些额外的sql过滤器

有什么想法吗

谢谢
Mat

拦截器框架只允许您拦截实体操作,如保存、更新和删除。查询本身不会被拦截,只有实体操作(选择/查看不算在内)


考虑对附加到ICriteria的一组查询类使用某种类型的继承,以满足您的需要。

我认为您可以使用定制的NHibernate持久器来实现这一点;但是,我很难找到如何编写的示例…

您可以使用
标记上的
where
属性:

<class name="MyClass" where="deleted=0">
    ...
</class>

...

@mjmcloug:True。实际上,我选择了不将这种逻辑放在映射中,我将它放在一个
SoftDeletableRepository
中,它提供了
Repository
的额外功能:
SoftDelete
DeletedEntities
Entities
(在
Repository
类上已经有一个
AllEntities
)。派生存储库处理实现
ISoftDeletable
的任何内容。