首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NHibernate.Mapping.Attributes.Filter

NHibernate.Mapping.Attributes.Filter
EN

Stack Overflow用户
提问于 2009-11-24 08:35:17
回答 1查看 645关注 0票数 1

我使用NHibernate和NHibernate.Mapping.Attributes库映射我的数据库表,但我遇到了让过滤器属性工作的问题。

假设一个A类有一组B类的对象。因此,我有以下内容:

代码语言:javascript
复制
[NHibernate.Mapping.Attributes.Set(0, Inverse = true, Lazy = NHibernate.Mapping.Attributes.CollectionLazy.False)]
[NHibernate.Mapping.Attributes.Key(1, Column = "ClassAId")]
[NHibernate.Mapping.Attributes.OneToMany(2, Class = "ClassB, Assembly")]

    public virtual ISet<ClassB> ClassBs { get; set; }

我想在这个集合上创建一个过滤器,只带出满足给定条件的B类对象,比如Status = 1。

如何创建这样的过滤器?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-11-27 23:20:00

集合映射的where参数应该能够帮助您。根据文档中的where参数:

SQL:(可选)指定检索或删除集合时要使用的任意

WHERE条件(如果集合应仅包含可用数据的子集,则非常有用)

因此,要过滤Status (假设Status是为ClassB映射的表中的一个SQL列-尽管此列不必在NHibernate映射中进行映射)。

代码语言:javascript
复制
[NHibernate.Mapping.Attributes.Set(0,...., Where = "Status = 1", .....)]
...
public virtual ISet<ClassB> ClassBs { get; set; }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1787074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档