2012-12-14 56 views

回答

2

嘗試

ixcxs.GroupBy(g => g.CatName) 
    .Select(s => new 
    { 
     CatName = s.Key, 
     n_items = s.Count() 
    }); 
在查詢語法

同樣的事情:

from i in ixcxs 
group i by i.CatName into g 
select new 
{ 
    CatName = g.Key, 
    n_items = g.Count() 
} 
+0

方法「單」和「的SingleOrDefault」只能用作最終查詢操作。請考慮在此實例中使用方法「FirstOrDefault」。 – Urah

+0

我與 '做了它從噸db.ixcxs 組通過新 { t.CatName }入克叔 選擇新 { g.Key.CatName, 總共= g.Count() } ;' 但是更優化 – Urah

+0

嗯好吧多數民衆贊成在另一種方式 – Urah

4

你並不需要從組中選擇第一項獲取CatName - 使用分組密鑰代替:

var query = from i in ixcxs 
      group i by i.CatName into g 
      select new { 
       CatName = g.Key, 
       n_items = g.Count() 
      }; 

同樣的,方法的語法:

var query = ixcxs.GroupBy(i => i.CatName) 
       .Select(g => new { CatName = g.Key, n_items = g.Count() });