首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NHibernate ICriteria搜索

NHibernate ICriteria搜索
EN

Stack Overflow用户
提问于 2010-02-15 03:24:26
回答 3查看 127关注 0票数 0

我有以下条件搜索,我希望返回一个具有多个任务和上下文和单个用户的项目。

对于每个不同的任务,实际返回的是同一项目多次。

看起来我在条件中遗漏了一条语句,告诉搜索返回独特的项目。

任何帮助都是非常受欢迎的。

代码语言:javascript
复制
ICriteria criteria = NHibernateSession.Current.CreateCriteria(typeof(Project))
            .CreateAlias("User", "user")
            .Add(Restrictions.Eq("user.Username", username))
            .SetFetchMode("Tasks", FetchMode.Eager)
            .SetFetchMode("Contexts", FetchMode.Eager);

IList<Project> projects = criteria.List<Project>();

先谢谢你...

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-02-15 03:27:18

不确定,但尝试添加criteria.SetResultTransformer(new NHibernate.Transform.DistinctRootEntityResultTransformer());

更多信息请点击此处:http://colinramsay.co.uk/diary/2008/01/15/nhibernate-optimising-queries-with-projections/

票数 2
EN

Stack Overflow用户

发布于 2010-02-15 03:29:18

IList projects = criteria.UniqueResult();

票数 1
EN

Stack Overflow用户

发布于 2010-02-15 05:20:39

这也是一种解决问题的方法:

Eagerly loading entity associations efficiently with NHibernate

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2262417

复制
相关文章

相似问题

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