我在看nhibernate拦截器。它似乎能够拦截保存,更新和删除查询,但无论如何我可以拦截一个选择查询。
我遇到的问题是在某些情况下我自动想要在执行的sql语句中添加一些额外的sql过滤器。
任何想法
由于 垫
答案 0 :(得分:2)
拦截器框架只允许您拦截实体操作,如保存,更新和删除。查询本身不会被截获,只有实体操作(以及选择/查看不计算)。
考虑对一组附加到您的ICriteria的查询类使用某种继承,以满足您的目的。
答案 1 :(得分:0)
我认为你可以通过自定义的NHibernate持久化实现这一目标;但是,我很难找到你如何写一个的例子......
答案 2 :(得分:0)
您可以使用where
代码中的class
属性:
<class name="MyClass" where="deleted=0">
...
</class>