2013-02-09 99 views
6

不是对实体框架(v4)实体标记虚拟导航属性有什么影响?实体框架虚拟属性

如果我不使用延迟加载,但忽略正确加载,访问(未加载)属性时会发生什么?

延迟加载之外还会有其他影响,还是需要虚拟导航属性的主要功能?

回答

7

有两个影响。一种是延迟加载,如果该属性不是virtual,则该功能不起作用。但延迟加载并不总是你想要的东西。

第二个是变化检测。如果您使用的是纯POCO或正在使用代理服务器,但不会生成属性virtual,则更改涉及更改检测。

您可以了解更多关于更改检测here

0

如果您想知道POCO对象是否支持延迟加载,那么我认为您会很高兴知道您也可以使用POCO获得延迟加载。

有你需要为了得到延迟加载的支持与POCO实体做两件事情:

  1. 声明您想懒洋洋地加载的虚拟财产。这些属性可以是任何实现ICollection的集合类型,也可以是代表1/0..1关系的引用。

  2. 上下文启用延迟加载

MSDN's "POCO in the Entity Framework" post