0

我试图这样做是指MSDN 文章

我试过这个:

dbContext.Entry(entry) _
    .Collection(Function(c) c.relObjects) _
    .Query() _
    .Where(Function(c) c.MyCondition) _
    .Load()

但它不编译,说 Load() 不是 IQueryable 的成员

我看到它针对的是 EF5。有没有办法让它在 EF4 中工作?

4

2 回答 2

1

我知道这是一篇旧文章,但请确保您导入了System.Data.Entity命名空间:

Imports System.Data.Entity

.Load方法实际上是该命名空间中的扩展方法。

于 2013-02-02T02:00:20.677 回答
0

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();  
于 2012-04-06T15:34:34.220 回答