1

你能澄清一下吗?

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();       
        }

我对延迟加载的理解是,在您需要它们之前,不会填充这些属性。

问题: 在 myQuery 中没有返回值,直到我们说.ToList(). 那么,这也是延迟加载吗?

4

1 回答 1

1

这不是延迟加载,而是延迟执行。调用 ToList 两次将执行 SQL 两次。结果没有在某处“缓存”。

实际上,不是 ToList 是序列的触发器而是枚举。那是有区别的。

于 2012-06-28T15:22:25.947 回答