2010-03-05 97 views
1

如果我有一個叫做DailyLeaveLedgerLINQ2SQL - 如何通過查詢編寫組

  • LeaveDate
  • LeaveType
  • 表AmountPaid

以下字段我怎樣寫一個LINQ2SQL組通過查詢得到這個結果,其中 它按年和Leavetype分組,並給出了一個計數爲 的假期天數和支付金額的總和?按年份的降序排序。

2010 Annual 10 5,000.00 

2010 Personal 3 1,500.00 

2009 Annual 15 10,000.00 

2009 etc 

回答

2

大廈Axarydax」結果:

var result = DailyLeaveLedgers.OrderBy(p=>p.LeaveDate.Year) 
           .GroupBy(p => new { 
            Year = p.LeaveDate.Year, 
            Type = p.LeaveType 
           }) 
           .Select(g => new { 
            Year = g.Key.Year, 
            Type = g.Kye.Leave, 
            Count = g.Count(), 
            Sum = g.Sum(x => x.AmmountPaid) 
           }); 

result現在持有對象的枚舉從與所請求的數據。

+0

打我吧;)所以我不會更新我的文章 – Axarydax 2010-03-05 14:17:29

2

DailyLeaveLedgers.OrderBy(p值=> p.LeaveDate.Year).GroupBy(p值=>新的{p.LeaveDate.Year,p.LeaveType});

+0

謝謝,我如何獲得支付的數量和金額? – Malcolm 2010-03-05 13:36:41

+0

對於組合組密鑰。 – AxelEckenberger 2010-03-05 14:17:49