Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用LINQ组合行?_Linq_Entity Framework_Linq To Entities - Fatal编程技术网

如何使用LINQ组合行?

如何使用LINQ组合行?,linq,entity-framework,linq-to-entities,Linq,Entity Framework,Linq To Entities,假设我有一个具有以下属性的实体[Id,UserName,ProductName],其中Id是PK,其他字段不是唯一的,因此具有相同用户名的行重复多次 对于其中一个视图,我需要获得一个具有唯一用户名的集合,其他字段将使用字符串连接或类似的方式组合在一起 如果我有 [0, John, Alpha] [1, Mary, Beta] [2, John, Gamma] 我需要一个查询,可以得到一个像 [John, Alpha Gamma] [Mary, Beta] 如果所有这些都可以在数据库端完成,而

假设我有一个具有以下属性的实体[Id,UserName,ProductName],其中Id是PK,其他字段不是唯一的,因此具有相同用户名的行重复多次

对于其中一个视图,我需要获得一个具有唯一用户名的集合,其他字段将使用字符串连接或类似的方式组合在一起

如果我有

[0, John, Alpha]
[1, Mary, Beta]
[2, John, Gamma]
我需要一个查询,可以得到一个像

[John, Alpha Gamma]
[Mary, Beta]

如果所有这些都可以在数据库端完成,而无需加载实体,那就太棒了。

您正在寻找
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));
}