2011-03-24 97 views
0

比方說,我有以下項目:GroupBy然後接納LINQ to Entities?

ID  Category  Name 

1  Fruit   Banana 
2  Car    Mescedes 
3  Fruit   Blackberry 
4  Fruit   Mango 
5  Car    Lexus 
6  Fruit   Melon 
7  Car    BMW 
8  Car    Toyota 

我想將它們分組到Category,並採取只在第一3項各Category的。可能嗎?

我所期望的輸出:

ID  Category  Name 

1  Fruit   Banana 
3  Fruit   Blackberry 
4  Fruit   Mango 
2  Car    Mescedes 
5  Car    Lexus 
7  Car    BMW 

任何幫助,將不勝感激!

+0

你能解釋你期望的結果是什麼? – 2011-03-24 07:53:15

回答

4

從頭部,而不是測試:

from c in categoryList 
group by c.Category into g 
let fewItems = g.Take(3).ToList() 
return new { Category = g.Key, Items = fewItems } 
+0

感謝您的回答,效果出色! – ByulTaeng 2011-03-24 08:42:07

+0

最合適,最簡潔的答案。謝謝 – 2012-10-17 17:58:39

0

比方說你列出收集被命名爲所屬分類..

的LINQ查詢才達到你想要的是:

categoryList.GroupBy(c=>c.Category).Take(3) 
+0

感謝您的快速回復。我錯過了最重要的部分。 「每個類別」的前三項,並非全部。 – ByulTaeng 2011-03-24 08:25:01