2014-01-25 66 views
0

在這裏,我有一個這樣的名單:集團由兩個不同類型的一列,並讓他們的總和

GroupList = value.GroupBy(p => new { p.DraftStateId, p.DraftTypeId, p.SrcTeamId, p.PartsId, p.PartsType }).ToList(); 

DraftStateId列有4種不同類型。

 DraftStateId  Count 
     type1    5 
     type2    8 
     type3    6 
     type4    7 

現在,我怎麼總結的type1type2計數,並顯示他們爲type1

+0

這是在內存列表中,還是您指的是EF/Linq2Sql查詢? –

+0

您的意思是GroupList?這是一個**清單 **,** T **是我的表格中的一個視圖。 –

回答

0

假設您指的是數據庫查詢,您首先需要執行查詢,然後在內存中執行自定義分組。

var grouping = value 
     .GroupBy(p => new { p.DraftStateId, p.DraftTypeId, p.SrcTeamId, p.PartsId, p.PartsType }) 
     .ToList() 
     .GroupBy(p => p.DraftStateId) 
     .GroupBy(p => { 
     if (p.Key == "type1" || p.Key == "type2") 
      return "type1"; 
     return p.Key; 
     }) 
     .Select(p => new { DraftStateId = p.Key, Count = p.Sum(x => x.Count()) }); 
+0

我需要返回所有列值,並且只需要在DraftStateId列中總計'type1'和'type2'的計數。 –