如何将最多 7 行分组为一行,其中设置的列决定分组?
我没有修复行。
我看到堆栈溢出已经有这个问题,但答案是在 SQL 中。
我需要 LINQ。我不知道如何才能实现这一目标?
请查看下面的 StackOverflow 链接
T- SQL group rows into columns
Table
Id RefId Name
------------------------
1 1 Test1
2 1 Test2
3 1 Test3
4 2 Test4
5 2 Test5
所以,输出将是..
RefId Name1 Name2 Name3 Name4 Name5 Name6 Name7 Id1 Id2 Id3 Id4 Id5 Id6 Id7
-----------------------------------------------------------------------------------
1 Test1 Test2 Test4 null null null null 1 2 3 null null null null
2 Test4 Test5 null null null null null 4 5 null null null null null
这里,行数最多为 7 是固定的......不超过这个
最佳答案
也许就这么简单?
var persons = new []{
new Person{Name = "John", Link = "L1"},
new Person{Name = "John", Link = "L2"},
new Person{Name = "John", Link = "L3"},
new Person{Name = "Steve", Link = "L1"},
new Person{Name = "Steve", Link = "L2"},
};
var grouped = persons.GroupBy(p => p.Name)
.Select(g => new{Name = g.Key, Links = g.Select(x => x.Link)});
关于c# - LINQ 将行分组为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24038306/