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 获取 a 的所有内容ChildCategory,则可以使用该OfType<T>()方法。

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