如何按子集合中的ID进行分组

时间:2013-11-20 20:04:51

标签: c# linq

我有一个A.的集合.A包含几个属性,包括B的集合.B包含一个ID。仅使用A的集合,我如何按B.ID ??

进行分组

更详细一点:

public class Config
{
    public int Id { get; set; }
    public List<Feature> Features { get; set; }
}

public class Feature
{
    public string Title { get; set; }
    public int Id { get; set; }
}

如果我有一个Config集合,我需要按Feature.Id分组,这样我的结果看起来像这样:

- Feature 1
    - Config1
        -Id
        -Features
    - Config2
        -Id
        -Features
    - Config3
        -Id
        -Features
- Feature 2
    - Config1
        -Id
        -Features
    - Config2
        -Id
        -Features
    - Config3
        -Id
        -Features
- Feature 3
    - Config1
        -Id
        -Features
    - Config2
        -Id
        -Features
    - Config3
        -Id
        -Features

如何使用LINQ实现这一目标?

1 个答案:

答案 0 :(得分:2)

listConfigs.SelectMany(c=>c.Features).GroupBy(f=>f.Id)