1

現在、自己結合オブジェクトのすべての子カテゴリにアクセスするために、このようなクエリを作成しています。

var productCategories = db.Categories.Inlcude("ChildCategories")
            .Inlcude("ChildCategories.ChildCategories")
            .Inlcude("ChildCategories.ChildCategories.ChildCategories")
            .Inlcude("ChildCategories.ChildCategories.ChildCategories.ChildCategories")
            .Inlcude("ChildCategories.ChildCategories.ChildCategories.ChildCategories.ChildCategories")
            .Inlcude("ChildCategories.ChildCategories.ChildCategories.ChildCategories.ChildCategories.ChildCategories")

この種のクエリについて何ができますか?

4

1 に答える 1

1

IQueryableが(遅延読み込みの反対に)すべてをフェッチできるようにするには、DBContextで遅延読み込みを無効にすることができます。

 using(DBContext db = new DBContext) {
      db.ContextOptions.LaxyLoadingEnabled = false;
      // TODO: Other code here
 }

編集:@Slaumaコメントへの応答を修正しました。

ChildCategoryがCategory(継承)の子クラスである場合:

IQueryableですべてをフェッチするChildCategory場合は、メソッドを使用できますOfType<T>()

 var productCategories = db.Categories.OfType<ChildCategories>();
于 2012-10-05T11:48:16.083 に答える