2010-08-30 57 views
3

我有一個簡單的表的計數分組的關係的數字,如:我如何使用LINQ來概括這個數據 - 通過這些關係

 
| fkId | Item | 
--------------- 
| 1 | A | 
| 1 | B | 
| 1 | C | 
| 1 | D | 
| 2 | H | 
| 2 | I | 
| 3 | Y | 
| 3 | Z | 

我希望有一個LINQ查詢,將第一張數Item的每個fkId,然後用給定的Item-count報告fkId的數量。

與樣本數據,我想知道,我有4倍的項目1個ID,並與2個項目

所以,像2個標識:

 
| ItemCount | fkIdsWithItemCount | 
---------------------------------- 
|   4 |     1 | 
|   2 |     2 | 

我越來越有一半(「有多少項目每fkID」)與:您

MyTable 
    .GroupBy(i => i.FkID) 
    .Select(i => i.Count()) 

回答

4

.GroupBy了一半了 - 現在你必須申請另一個.GroupBy做休息:

MyTable.GroupBy(i => i.FkID) 
     .GroupBy(group => group.Count()) 
     .Select(group => new { ItemCount = group.Key, 
           FkIdsWithItemCount = group.Count() }); 
相關問題