Linq2Sql-如何按查询编写组

时间:2010-03-05 13:16:35

标签: linq-to-sql

如果我在名为DailyLeaveLedger的表中有以下字段

  • 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 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分: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现在包含来自所请求数据的对象枚举。