2012-06-21 53 views
0

我有一個數據表包含3列計數,內存,內核。現在我試圖通過內存和內核來獲得計數組的總和。數據表中的group by子句中的多列

我使用這個代碼:

var queryG = from row in dtFilterX.AsEnumerable() 
         group row by row.Field<string>("memory") into grp 
         select new 
         { 
          Id = grp.Key, 
          sum = grp.Sum(r => r.Field<int>("count")) 
         }; 
      foreach (var grp in queryG) 
      { 
       dtFilter.Rows.Add(grp.Id, grp.sum); 
      } 

我不能夠通過條件組添加核心列作爲我新的LINQ。 請幫幫我。

由於 Gulrej

回答

1

對於組多個列通過,使用匿名類型(使用新的關鍵字):在dTable.AsEnumerable

group row by new 
      { 
       memoryCol = row.Field<string>("memory"), 
       coreCol = row.Field<string>("core") 
       } into grp 
+0

變種查詢=從行()由 組行新{row.Field (「memory」),row.Field (「core」)} into grp select new { Id = grp.Key, sum = grp.Sum(r => r.Field (「id」)) };它給我編譯錯誤 – Gulrej

+0

@Gulrej,我的壞,使用名稱對row.Field <>,檢查我編輯的答案,你現在不會得到任何編譯器錯誤 – Habib