我正在尝试通过创建一个简单的博客应用程序来学习 MVC 和 nHibernate。
我有一个帖子表和一个评论表。每个帖子可以有多个评论。现在在我看来,我必须显示帖子的详细信息和评论数量。
我尝试了下面的代码
(from post in DbContext.Posts
where post.ScheduledDate <= DateTime.Now && post.Approved == true
orderby post.ScheduledDate descending
select new { Post = post, CommentCount = post.Comments.Count() }).Take(10);
这将返回以下 SQL:
SELECT top 10 count(comments1_.Id) as y0_
FROM Posts this_
left outer join Comments comments1_
on this_.Id=comments1_.PostId
WHERE (this_.ScheduledDate <= '2009-12-29' and this_.Approved = 1)
ORDER BY this_.ScheduledDate desc
并且明显抛出了一个没有被使用的sql异常group by
。