NHibernate Linq - 重复记录
当我运行下面的 linq 语句时,我遇到了重复博客文章返回的问题。
博客文章可能多次具有相同的标签,这就是导致问题的原因。我知道当您使用条件时,您可以执行以下criteria.SetResultTransformer(new DistinctRootEntityResultTransformer());
我怎样才能用 linq 做同样的事情?
List<BlogPost> result = (from blogPost in _session.Linq<BlogPost>()
from tags in blogPost.Tags
where tags.Tag == tag && blogPost.IsPublished
&& blogPost.Slug != slugToExclude
orderby blogPost.DateCreated descending
select blogPost).Distinct()
.Skip(recordsToSkip).Take(pageSize).ToList();
I am having a problem with duplicate blog post coming back when i run the linq statement below.
The issue that a blog post can have the same tag more then once and that's causing the problem. I know when you use criteria you can do the followingcriteria.SetResultTransformer(new DistinctRootEntityResultTransformer());
How can I do the same thing with linq?
List<BlogPost> result = (from blogPost in _session.Linq<BlogPost>()
from tags in blogPost.Tags
where tags.Tag == tag && blogPost.IsPublished
&& blogPost.Slug != slugToExclude
orderby blogPost.DateCreated descending
select blogPost).Distinct()
.Skip(recordsToSkip).Take(pageSize).ToList();
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试
旧的 NHibernate LINQ 提供程序无论如何都不会得到维护。尝试 NHibernate 3.0 的新内置功能(要使用它,请键入
session.Query()
而不是session.Linq()
。try
The old NHibernate LINQ provider is not maintained anyway. Try the new one built-in of NHibernate 3.0 (to use it you type
session.Query()
instead ofsession.Linq()
.