私は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