NHibernate Linq - 重复记录

6 linq nhibernate fluent-nhibernate linq-to-nhibernate

当我运行下面的linq语句时,我遇到了重复博客帖子的问题.

博客帖子可能具有相同标签的问题,然后导致问题.我知道你何时使用标准你可以做以下的标准.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();
Run Code Online (Sandbox Code Playgroud)

Mel*_*igy 2

尝试

List<BlogPost> result = (from blogPost in _session.Linq<BlogPost>()
                         where blogPost.Tags.Any(t => t == tag) 
                            && blogPost.IsPublished 
                            && blogPost.Slug != slugToExclude
                         orderby blogPost.DateCreated descending
                         select blogPost).Distinct()
                        .Skip(recordsToSkip).Take(pageSize).ToList();
Run Code Online (Sandbox Code Playgroud)

旧的 NHibernate LINQ 提供程序无论如何都不会得到维护。尝试 NHibernate 3.0 的新内置功能(要使用它,您需要键入session.Query()而不是session.Linq().