我不知道这是EF懒惰问题还是真正的EF错误,因为这种不规则性有时只会发生(在同一代码中10次aprox.1) 问题在于,有时候,由于某些原因,一些随机导航属性(并不总是相同)不会加载延迟加载活动和代理创建也是活动的。
该示例是一个表单,其中包含+ - 40个字段,表示Person,它与许多其他表具有Relational连接,而其他表与其他表具有。 我使用延迟加载是因为在我看来这是最好的方法,因为表单中涉及的表的数量。问题是某些字段显示为空白,因为某些字段导航。属性不加载。
真正的问题是,是否存在,或者有人知道EF停止延迟加载导航属性或仅加载其中一半" 的原因?
示例代码过于复杂且私密(企业)无法在此分享。
答案 0 :(得分:0)
前一段时间我遇到过类似的问题。 在查询结尾使用.ToList()为我解决了问题:
试试这个:
using(EntityContext db = new EntityContext())
{
db.LazyLoadingEnabled = true;
List<Persons> persons = db.Persons.ToList();
}
答案 1 :(得分:0)
很久以前通过重新加载整个DbContext解决了上面描述的问题,经过大量的重试之后,我能够发现问题是,如果你有另一个dbcontext的某个对象,从那一刻开始,lazzyloading停止工作(现在有意义......:P)