我试图这样做是指MSDN 文章。
我试过这个:
dbContext.Entry(entry) _
.Collection(Function(c) c.relObjects) _
.Query() _
.Where(Function(c) c.MyCondition) _
.Load()
但它不编译,说 Load() 不是 IQueryable 的成员
我看到它针对的是 EF5。有没有办法让它在 EF4 中工作?
我试图这样做是指MSDN 文章。
我试过这个:
dbContext.Entry(entry) _
.Collection(Function(c) c.relObjects) _
.Query() _
.Where(Function(c) c.MyCondition) _
.Load()
但它不编译,说 Load() 不是 IQueryable 的成员
我看到它针对的是 EF5。有没有办法让它在 EF4 中工作?
我知道这是一篇旧文章,但请确保您导入了System.Data.Entity
命名空间:
Imports System.Data.Entity
该.Load
方法实际上是该命名空间中的扩展方法。
Where 条件返回一个 IQueryable 对象。您应该在收集相关对象后使用Load :
dbContext.Entry(entry).Collection(Function(c) c.relObjects).Load()
来自 msdn:即使禁用了延迟加载,仍然可以通过在相关实体的条目上使用对 Load 方法的显式调用来延迟加载相关实体。例如:
// Load the department related to a given course using a string
context.Entry(course).Reference("Department").Load();
// Load the courses related to a given department
context.Entry(department).Collection(Function(c) c.Courses).Load();