私はList<Category>
どこにいますかCategory
:
public class Category {
public List<Category> Categories { get; set; } // this holds sub-categories
public string Name { get; set; }
public string Icon { get; set; }
public string Id { get; set; }
}
それCategories
自体が別のList<Category>
ものであるため、サブカテゴリを含めることができ、それらのサブカテゴリにはサブカテゴリを含めることができます。
私は次のように最初の「レイヤー」を超えてクエリできることを知っています:
Categories.Where(x => x.Categories.Any(c => c.Id == id)).FirstOrDefault();
Category
オブジェクトツリーの深さ、おそらく3、4、または5層の特定の層を効果的にクエリするにはどうすればよいですId
か(最大で3層ありますが、将来の参照用に知りたいです)。
編集
さらに、サブカテゴリの深さが3層Category
しかない場合、オブジェクトツリー全体をトップレベルまで取得するにはどうすればよいですか?Id