我正在尝试根据分组结果分组。我需要按“ a”列分组 来自精简查询的结果q,然后我需要根据此分组的结果进一步分组。我该怎么办?如何访问按值分组的“键”及其每个元素?
第一个groupby返回类的“ GroupedEnumerable”。其中有两个元素(因为a列只有两个唯一值,但是可以更改),然后每个元素都有一个键,然后有一个Result。我需要进一步根据每个键的结果中的一些值进行分组。
var result = q.Groupby(x => x.a);
假设模型/类看起来像这样
public class MyClass
{
public string a { get; set; }
public string b { get; set; }
public string c { get; set; }
public string d { get; set; }
public string e { get; set; }
}
我从dapper查询中获得了对象列表。
var v = repository.getResult(id);
现在我按一个分组。
var t= v.Groupby(x => x.a);
现在在resultview中有多个元素,每个元素都包含一些原始类的属性,例如(a,b,c,d等),我现在需要对c进行分组。
我想我只是想知道此结果会导致哪种结果集。我不必使用linq,如果知道如何使用内部元素,则可以使用旧的循环。
答案 0 :(得分:1)
简而言之,
var result = q.Groupby(x => new { x.a, x.c });
var result = q.Groupby(x => x.a).Select(g => g.Groupby(x => x.c));