2012-04-23 102 views
0

我有一个LINQ查询问题。有人可以帮忙吗?LINQ查询分组

有一个表内容与列Id(唯一),ContentId,版本。 我想为每个唯一的Content Id获取最新版本。

所以,如果表是:

- Id, ContentId, Version 
- 1, 1, 1 
- 2, 1, 2 
- 3, 2, 1 

然后查询应该返回:

- Id, ContentId, Version 
- 2, 1, 2 
- 3, 2, 1 

回答

1

也许是这样的:

var result= (
     from c in db.Content 
     where db.Content 
        .Where (l =>l.ContentId==c.ContentId) 
        .Max (l=>l.Version)==c.Version 
     select c 
    ); 

其中db是LINQ数据上下文

+0

太棒了,谢谢! – lekso 2012-04-23 10:20:24

+0

没问题。 @lekso:记得投票你认为很好的答案。这给了我们一种温暖的模糊感觉:P – Arion 2012-04-23 11:04:12