linq + groupby - 在select查询中添加字段

时间:2012-11-29 23:07:37

标签: c# linq-to-entities

问题:我们可以将groupby转换为LINQ中的多个字段 目前 - 我有这样的linq

q = q.GroupBy(c => c.Id)
     .Select(g => new View
                  {
                      Id = g.Key,
                      ENAME= string.Join(",", g.Select(x => x.CaseApprover).ToList())
                  });

我想用多个字段分组,比如

q = q.GroupBy(c => c.Id, c.name,c.age,c.dob) 

还如何将它们放入选择查询中?这样我也会在select查询中获得新添加的字段。

1 个答案:

答案 0 :(得分:1)

试试这个:

q = q.GroupBy(c => new { c.Id, c.name,c.age,c.dob })
    .Select(g => new
    {
        Id = g.Key.Id,
        ENAME= string.Join(",", g.Select(x => x.CaseApprover).ToList()),
        Name = g.Key.name,
        Age = g.Key.age,
        Dob = g.Key.dob,
    });

这将返回匿名类型,如果您想在View课程中添加这些字段,只需添加它们即可。