【发布时间】:2010-05-31 23:20:53
【问题描述】:
我是 LINQ 的新手,所以对于一些我确信很简单的查询感到很困惑。无论如何,我已经为此苦苦思索了一段时间,但我被难住了。
这里有人可以帮我把这个 T-SQL 查询转换成 LINQ 查询吗?一旦我看到它是如何完成的,我相信我会对语法有一些疑问:
SELECT BlogTitle
FROM Blogs b
JOIN BlogComments bc ON
b.BlogID = bc.BlogID
WHERE b.Deleted = 0
AND b.Draft = 0
AND b.[Default] = 0
AND bc.Deleted = 0
GROUP BY BlogTitle
ORDER BY MAX([bc].[Timestamp]) DESC
只是为了表明我已经尝试过自己解决这个问题,这是我迄今为止提出的,虽然它不能编译,更不用说工作了......
var iqueryable =
from blog in db.Blogs
join blogComment in db.BlogComments on
blog.BlogID equals blogComment.BlogID
where blog.Deleted == false
&& blog.Draft == false
&& blog.Default == false
&& blogComment.Deleted == false
group blogComment by blog.BlogID into blogGroup
orderby blogGroup.Max(blogComment => blogComment.Timestamp)
select blogGroup;
【问题讨论】: