2012-04-23 104 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