首先使用EF代码“Association properties that are marked as “virtual” will by default be lazy-loaded”。
是按照惯例还是背后有一个逻辑?
答案 0 :(得分:1)
通过将属性标记为虚拟允许EF在派生代理类中覆盖它,它会包裹您的对象。这允许EF在重写属性中添加加载钩子,并启用延迟加载行为。
Microsoft文档:https://msdn.microsoft.com/en-us/data/jj574232.aspx
在可能的情况下,默认的Entity Framework行为是延迟加载相关对象。这可以通过简单地关闭上下文的延迟加载或单个实体来禁用(参见上面的链接):
例如,要禁用上下文的延迟加载:
this.Configuration.LazyLoadingEnabled = false;