0

次のオブジェクトがあり、最初のカテゴリの説明でグループ化され、次にサブカテゴリの説明でグループ化されたオブジェクトのコレクションを提供する結果が必要です。

カテゴリ(カウント)
     サブカテゴリ(カウント)
     サブカテゴリ(カウント)

public class Posting
{
    public Category Category { get; set; }
    public SubCategory SubCategory { get; set; }
}

public class Category
{
    public string Description { get; set; }
}

public class SubCategory
{
    public string Description { get; set; }
}

編集

だから私はこれを次のように機能させています:

foreach (var category in col.GroupBy(x => x.Category.Description).Select(x => new { CategoryName = x.Key, Items = x }).OrderBy(x => x.CategoryName))
            {
                Console.WriteLine(category.CategoryName);
                foreach (var subCategory in category.Items.GroupBy(x => x.SubCategory.Description).Select(x => new { SubCategoryName = x.Key }).OrderBy(x => x.SubCategoryName))
                {
                    Console.WriteLine("\t" + subCategory.SubCategoryName);
                }
            }

しかし、これを1つのオブジェクトグラフにまとめたいのですが、それは可能ですか?

4

1 に答える 1

1

Key「内部」サブカテゴリ グループのフィールドは、カテゴリとサブカテゴリの両方を含む匿名型であることに注意してください。ただし、アプリケーションの実行内容によっては、常にカテゴリを利用できるため、それが機能になる場合があります。

var results = col
    .GroupBy(posting => new
        {
            Category = posting.Category.Description,
            SubCategory = posting.SubCategory.Description
        })
    .GroupBy(group => group.Key.Category.Description);
于 2013-03-06T07:59:42.763 に答える