Linq to Entities组查询,给出每个组中的结果列表

Pri*_*cey 0 c# linq linq-to-entities entity-framework

如果我有一组具有3个属性(Id,Type,Size)的实体,它们都是字符串。

有没有使用LINQ to实体在那里我可以做一组查询,给了我的一种方式Size+ Type的键,然后的相关ID的该列表Size+ Type

下面的示例获得计数:

Items.GroupBy(x => new { x.Size, x.Type})
     .Select(x => new { Key = x.Key, Count = x.Count() }) 
Run Code Online (Sandbox Code Playgroud)

但我想获取每个分组的ID列表吗?

我打算先决定是否可以使用Linq-to-EF,然后再决定在代码中进行迭代并建立结果。

Hab*_*bib 5

如果要获取每个组的ID列表,则必须选择x.Select(r => r.Id)类似:

var result = Items.GroupBy(x => new { x.Size, x.Type })
                  .Select(x => new
                    {
                        Key = x.Key,
                        Ids = x.Select(r => r.Id)
                    });
Run Code Online (Sandbox Code Playgroud)