nullcableであるparentcategoryid列を持つカテゴリという名前の自己参照テーブルがあります。ADOエンティティ階層自己参照
エンティティデザイナにテーブルを追加すると、この関係のナビゲーションプロパティが2つ作成され、1つのParentCategory(ゼロまたは1 navの小道具)と、もう1つはSubCategories(* many nav prop)という名前になりました。
私は1つ以上の深さに行くときを除いて、すべてがうまく動作します。深いレベルをピックアップしません。
私はすべてのCategory.SubCategoriesを取得しますが、私はサブカテゴリの下にカテゴリを取得しません。
何か不足していますか?私はNHibernateについていたはずだと思うようになった。より深いレベルが怠惰に読み込まれるべきではありませんか?
return from c in _entities.ContentCategorySet.Include("SubCategories")
where c.ParentCategory == null
orderby c.Importance, c.Title
select c;
は、私は私はそこにいくつかのエンティティの魔法があるはずと思ったが、屋私は彼らに自分自身を構築する必要があります、あなたは正しいと思います。 – MvcCmsJon
私は既に再帰的な方法を持っています。問題は、他のカテゴリがエンティティに読み込まれないということです。エンティティを構築するために、より深いノードのクエリに行く必要があると言っていますか? 私が理解していることを確認したいだけです。これは、怠惰になる可能性のあるものでなければならないようです。ここ – MvcCmsJon
は_entities.ContentCategorySet.Includeで( "のサブカテゴリ")Cから私のLINQ リターンですc.ParentCategory == nullの ORDERBY c.Importance、c.TitleがCを選択 。 – MvcCmsJon