我有一个父模型,通过外键关系(延迟加载 - > virtual
启用了不同的子模型)。
似乎使用像
这样的查询Parent.Where(x=> x.something == true).AsQueryable()
无法预测。也就是说,有时孩子会被加载而有时他们不是(注意:这已经开始在EF 6.1.3中发生了。)
我想知道是否有保证在不使用include
的情况下延迟加载儿童的方法。
准确:
var list = Parent.Where(x=> ...).Take(1);
foreach(var parent in list){
var childName = parent.Child.Name; //NOTE: Parent and Child are related by foreign key (some Id)
}
问题是,即使数据库中的记录存在,也发现Child为空。
请注意,Include
同时正常工作Take(50) instead of Take(1)
也可以正常工作。
答案 0 :(得分:0)
我认为您可以使用Inculde方法,如下所示:
Parent.Include(“Child”)。其中(x => x.something == true);
并且您不需要像上面的行一样调用AsQueryable()返回AsQueryable