你能澄清一下吗?
public static void MyMethod()
{
var context= new MyModel.Entities();
//myQuery will not have result yet
var myQuery= from a in context.MyEntity where a.id==10 select a;
// object is populated in myqueryResults.
var MyqueryResults= myQuery.ToList();
}
我对延迟加载的理解是,在您需要之前,不会填充属性。
问题:
在我们说.ToList()
之前,myQuery中没有值。那么,这也是一个懒惰的载荷吗?
答案 0 :(得分:1)
这不是延迟加载而是延迟执行。两次调用ToList将执行SQL两次。结果不会在某处“缓存”。
实际上,ToList不是触发器,而是序列的枚举。这是一个区别。