如何根据LINQ分组结果进行分组

时间:2019-06-04 20:55:20

标签: c# linq

我正在尝试根据分组结果分组。我需要按“ 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);

enter image description here

现在在resultview中有多个元素,每个元素都包含一些原始类的属性,例如(a,b,c,d等),我现在需要对c进行分组。

enter image description here

我想我只是想知道此结果会导致哪种结果集。我不必使用linq,如果知道如何使用内部元素,则可以使用旧的循环。

1 个答案:

答案 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));
相关问题