如果我有一组具有3个属性(Id,Type,Size)的实体,所有这些都是字符串。
有没有办法使用Linq to Entities我可以进行群组查询,这会给我Size
+ Type
作为关键字,然后列出相关的ID&'s Size
+ Type
?
以下获取计数的示例:
Items.GroupBy(x => new { x.Size, x.Type})
.Select(x => new { Key = x.Key, Count = x.Count() })
但是我希望获得每个分组的ID列表?
我想看看在我决定在代码中迭代这个并建立结果之前是否可以使用Linq-to-EF。
答案 0 :(得分:4)
如果您想获得每个组的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)
});