假设我有一个具有以下属性的实体[Id,UserName,ProductName],其中Id是PK,其他字段不是唯一的,因此具有相同UserName的行重复多次。
对于其中一个视图,我需要获得一个具有唯一UserName的集合,其他字段将使用字符串连接或类似的东西组合在一起。
如果我有
[0, John, Alpha]
[1, Mary, Beta]
[2, John, Gamma]
我需要一个能让我得到像
这样的集合的查询[John, Alpha Gamma]
[Mary, Beta]
如果可以在数据库端完成所有这些而不加载实体,那将是非常棒的。
答案 0 :(得分:2)
您正在寻找GroupBy()
:
var results = context.MyEntities.GroupBy( x => x.UserName);
foreach (var item in results)
{
Console.WriteLine("{0} : {1}", item.Key, string.Join(",", item.Select( x=> x.ProductName));
}