【发布时间】:2023-03-21 17:56:01
【问题描述】:
我想要做的是:http://www.janblaha.net/blog/nhibernate-multitenancy-in-shared-database
这是我的过滤器定义:
public class MultitenancyFilter : FilterDefinition
{
public MultitenancyFilter()
{
WithName("multitenancy").WithCondition("TenantId= :tenantId").AddParameter("tenantId", NHibernate.NHibernateUtil.Int32);
}
}
然后,我这样查询:
_session.EnableFilter("multitenancy").SetParameter("tenantId", tenantId);
var people = _session.QueryOver<Person>().List().ToList();
其中的tenantId 是一些整数。
但是 NHibernate 永远不会在查询中生成过滤器。查询的生成完全没有“where”子句。
我是否缺少某些配置或某些概念?
NHibernate 版本 4.0.0.4000。
PS。调试时,_session 有一个名为 EnabledFilter 的属性,我的过滤器就列在那里。那么,怎么了?
【问题讨论】:
标签: c# nhibernate