何时加载导航属性?

时间:2011-04-29 07:01:24

标签: entity-framework-4 asp.net-4.0

如果实体A与实体B有FK关系,并且在EF4内的实体A中表示为导航属性,那么实体B的数据何时被加载?是在创建A的实例时,还是仅在从A?

中访问B时

3 个答案:

答案 0 :(得分:1)

取决于使用的装载类型。检查显示差异的this article

答案 1 :(得分:1)

你会想要调查Loading Related Objects,也许你对热切的加载感兴趣。

答案 2 :(得分:1)

这取决于加载方法:

  • 急切加载 - 查询加载A包含.Include(a => a.B)。在这种情况下,在查询执行期间加载A和相关的B
  • 延迟加载 - 在第一次查询期间仅加载A,如果它仍在生活上下文范围内,则可以在第一次访问导航属性时触发延迟加载B.
  • 显式加载 - 您将通过调用context.LoadProperty(a, "B");
  • 手动触发加载