NHibernate(Fluent)和ReferencesAny - 针对特定类型进行过滤

时间:2013-11-22 22:12:21

标签: nhibernate fluent-nhibernate

我使用ReferencesAny作为我的组织成员资格功能。基本上它必须允许实现一个接口(IMember)的任何实体可以加入到不同的IOrganization。

现在我在数据库中有以下列: MemberID MemberType OrganizationID OrganizationType (类型适用于meta到不同的不同实体)

接下来,我正在使用

public abstract class OrganizationService<T> where T : IOrganization {
  ...    
}

保存数据效果很好,但查询有点棘手。 所以问题是,如果我有 CompanyService : OrganizationService<Company> 我该如何过滤,那么 CompanyService 中的某些方法(如 GetAll ())只能 OrganizationType ='Company'的<组织。可以直接通过NHibernate查询进行过滤还是......?我知道我可以按类型进行过滤,但我想在执行查询之前这样做,因为OrganizationType是元值,因为我没有可以在LINQ to NHib查询中使用的属性。

另外,我读过 NHibernate ReferencesAny pulling back the wrong type 但我需要通过查询来做到这一点。

.Query("OrganizationType='Company'")

这样的东西

我希望我能解释清楚。

0 个答案:

没有答案