鉴于:

var detailList = new List<DetailItem>();


哪里:

class DetailItem
{
    string A;
    MyType B;
}


LINQ查询组可以将字段A转换为以下数据结构:

class GroupItem
{
    string A;
    List<MyType> AllBsWithinA;
}



IEnumerable<GroupItem> linqQuery = detailList.SomeLinqMagic(…);


有问题的数据全部基于内存,因此这是LINQ to Objects问题。

最佳答案

这看起来很简单,除非我错过了您的意思:

IEnumerable<GroupItem> linqQuery = detailList
    .GroupBy(i => i.A)
    .Select(g => new GroupItem()
    {
        A = g.Key,
        AllBsWithinA = g.Select(i => i.B).ToList()
    });

09-11 14:08