有没有办法确保过滤器 ( <filter-def>
) 默认启用,而不是必须调用 session.EnableFilter("filter_name")
每次?
最佳答案
我知道这可能无法完全解决您的问题,但如果您通过 IOC 容器连接您的对象,或者如果您只有一个创建 session 的点,则可以解决此问题。
我如何处理它是在激活 ISession 时我已经默认切换过滤器(使用 Autofac):
builder.RegisterAdapter<ISessionFactory, ISession>(factory => factory.OpenSession())
.InstancePerHttpRequest()
.OnActivated(activatedArgs =>
{
var session = activatedArgs.Instance;
session.EnableFilter(MyCustomFilter.Name);
session.BeginTransaction();
});
关于c# - 默认启用 Nhibernate 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/614442/