2010-03-05 46 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