我正在使用GroupBy创建一组用于多个子网格的分层组.
假设我有一个包含6列的查询,a,b,c,d,e,f.
现在,我需要按a分组,然后按b分组,然后按c分组.并返回c组中的整行.
var q = rows.GroupBy(x => x.a)
Run Code Online (Sandbox Code Playgroud)
好的,那很好.那给了我我的小组.接下来,我们希望用a和b对它们进行分组.
var q1 = q.Select(g =>new {
Key = g.Key,
SubGroup = g.GroupBy(x => x.b)
}
Run Code Online (Sandbox Code Playgroud)
好的,这也很好用.我得到了一组带有b子组的a组.
现在我被困在第三级了.我尝试了各种语法,但大多数都不会编译.那些没有给出正确结果的.
var q2 = q1.Select(g1 => new {
Key = g1.Key,
SubGroup = g1.GroupBy(x => x.c)
}
Run Code Online (Sandbox Code Playgroud)
这不编译.告诉我g1上没有GroupBy.
var q2 = q.Select(g1 => new {
Key = g1.Key,
SubGroup = g1.GroupBy(x => x.c)
}
Run Code Online (Sandbox Code Playgroud)
这不给我b子组,只给出a和c.
知道我在这里做错了什么吗?
编辑:
以下也没有用,说没有g1.Key的定义
var q2 = q.Select(g => new {
Key = g.Key,
SubGroup = g.Select(g1 => new { …Run Code Online (Sandbox Code Playgroud)