Fluent nhibernate FluentNHibernate有许多条件映射

Fluent nhibernate FluentNHibernate有许多条件映射,fluent-nhibernate,nhibernate-mapping,conditional,Fluent Nhibernate,Nhibernate Mapping,Conditional,有没有办法过滤掉HasManyToMany映射中的行 我有三个表遗留,无法更改它们服务、资源和资源服务。ResourceService允许多个资源链接到多个服务,但它也有一个活动列 在我的Resource domain对象上,我已经使用ProvidedBy属性映射了链接到资源的服务,该属性返回一个服务数组。问题是,我只需要来自标记为活动的服务的行 我缺少一些基本的东西吗?Fluent NHibernate 1.0版不支持NHibernate筛选器或筛选器def。一段时间前,我向James Gre

有没有办法过滤掉HasManyToMany映射中的行

我有三个表遗留,无法更改它们服务、资源和资源服务。ResourceService允许多个资源链接到多个服务,但它也有一个活动列

在我的Resource domain对象上,我已经使用ProvidedBy属性映射了链接到资源的服务,该属性返回一个服务数组。问题是,我只需要来自标记为活动的服务的行


我缺少一些基本的东西吗?

Fluent NHibernate 1.0版不支持NHibernate筛选器或筛选器def。一段时间前,我向James Gregory和团队提交了一个补丁,他们现在已经将其合并到主干中,因此,如果您得到的是主干而不是发布版本,您将发现包含了执行此类操作的能力

本质上,您可以设置一个继承自FilterDefinition的类,如下所示:

然后在fluent映射中应用此过滤器:

HasManyToMany(x => x.Oldies)
    .Table("People")
    .ApplyFilter<TestFilter>();

Fluent NHibernate 1.0版不支持NHibernate过滤器或过滤器定义。一段时间前,我向James Gregory和团队提交了一个补丁,他们现在已经将其合并到主干中,因此,如果您得到的是主干而不是发布版本,您将发现包含了执行此类操作的能力

本质上,您可以设置一个继承自FilterDefinition的类,如下所示:

然后在fluent映射中应用此过滤器:

HasManyToMany(x => x.Oldies)
    .Table("People")
    .ApplyFilter<TestFilter>();

这难道不是一个候选人吗


这难道不是一个候选人吗


实际上,可以使用过滤器实现外部联接条件


请参见

您实际上可以使用过滤器实现外部连接条件


请看

考虑到我正在尝试的方法,这似乎相当重要,但如果Fluent不支持任何其他方法,我想这就是我必须要做的!问题不在于Fluent支持什么,而在于NHibernate支持什么。如果愿意,您可以始终使用XML映射文件来定义和应用过滤器;考虑到我正在尝试做的事情,这看起来很重要,但如果Fluent不支持任何其他方法,我想这就是我必须要做的!问题不在于Fluent支持什么,而在于NHibernate支持什么。如果愿意,您可以始终使用XML映射文件来定义和应用过滤器;恐怕不行。我希望筛选的列是ResourceService表,它是链接表。我确实试过了,但编译器不喜欢它:HasManyToManyFunctiono作为服务o.ProvidedBy u.Cascade u.All uu.TableResourceService u.ParentKeyColumnServiceId u.ChildKeyColumnResourceId FunctionX作为资源服务x、 恐怕不行。我希望筛选的列是ResourceService表,它是链接表。我确实试过了,但编译器不喜欢它:HasManyToManyFunctiono作为服务o.ProvidedBy u.Cascade u.All uu.TableResourceService u.ParentKeyColumnServiceId u.ChildKeyColumnResourceId FunctionX作为资源服务x、 ActiveDude,你让我陷入了网络上的递归循环!老兄,你让我陷入了网络上的递归循环!
session.EnableFilter("test").SetParameter("age", 65);
HasManyToMany(x => x.Whatevers)
  .Where(x => x.Active);