我有以下条件搜索,我希望返回一个具有多个任务和上下文和单个用户的项目。
对于每个不同的任务,实际返回的是同一项目多次。
看起来我在条件中遗漏了一条语句,告诉搜索返回独特的项目。
任何帮助都是非常受欢迎的。
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>();先谢谢你...
发布于 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/
发布于 2010-02-15 03:29:18
IList projects = criteria.UniqueResult();
发布于 2010-02-15 05:20:39
这也是一种解决问题的方法:
Eagerly loading entity associations efficiently with NHibernate
https://stackoverflow.com/questions/2262417
复制相似问题