Linq分组由多个列组成,并在group by子句之前从表中获取额外值

时间:2015-09-08 10:58:57

标签: c# entity-framework linq

我想知道这里是否有可能是一些代码示例:

我有一个名为Sample的表:

| Id| Name| Address| ExtraColumn| ExtraColumn2|

以下是class

public class Sample{
   public int Id{get;set;}
   public string Name{get;set;}
   public string Address{get;set;}
   public float ExtraColumn{get;set;}
   public float ExtraColumn2{get;set;}
}

我现在拥有的:

Model.Sample.GroupBy(x => new {x.Name, x.Address}).Select(x => new {x.Key, Count = x.Count()});

但除了Key之外,我还需要ExtraColumnExtraColumn2的每个值 单Sample中的entity database request

所以问题是: 甚至可能吗?

如果是这样,如何完成?

1 个答案:

答案 0 :(得分:3)

如果我理解正确,这就是你想要的: -

Model.Sample.GroupBy(x => new {x.Name, x.Address})
            .Select(x => 
                    new 
                     {
                        Name = x.Key.Name, 
                        Address = x.Key.Address,
                        Count = x.Count(),
                        obj = x.ToList()
                     });

此处,obj将在每个组中包含List<Sample>