繁体   English   中英

实体框架:为什么默认情况下会延迟加载“虚拟”?

[英]Entity Framework: why “virtual” will by default be lazy-loaded?

首先使用EF代码“ 标记为“虚拟 ”的关联属性默认情况下将被延迟加载 ”。

是按照惯例还是背后有逻辑?

通过将该属性标记为虚拟属性,EF可以在派生的代理类中覆盖它,并将其包装在您的对象周围。 这允许EF在overridden属性中添加加载钩子,并启用延迟加载行为。

Microsoft文档: https : //msdn.microsoft.com/zh-cn/data/jj574232.aspx

实体框架的默认行为是在可能的情况下延迟加载相关对象。 可以通过简单地为上下文或单个实体关闭延迟加载来禁用此功能(请参见上面的链接):

例如,要禁用上下文的延迟加载:

this.Configuration.LazyLoadingEnabled = false; 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM