c# - 默认启用 Nhibernate 过滤器

标签 c# nhibernate

有没有办法确保过滤器 ( <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/

相关文章:

c# - .NET 反射 - 从反射集合中获取第一项而不强制转换为特定集合

c# - 使用 C# 替换所有不是 HTML 实体的 &

nhibernate - Composite Id 和 Restrictions.IdEq 或与 Linq 中的比较未按预期工作

c# - NHibernate QueryOver order by 带算术运算

c# - NHibernate 发生 Id getter 异常;对象与目标类型不匹配

nhibernate take Skip 没有采取应有的数量

c# - Linq to SQL 和 Linq to Entities 中的投影

c# - 如果关联的 UI 被释放,C# 中的异步可等待代码会发生什么情况

c# - 在 MVVMCross 中将参数从 Main 传递到 Detail

c# - 性能计数器不工作