我想知道延迟加载是否= =延迟执行?
答案 0 :(得分:9)
没有。
“延迟加载”通常用于指示如果您拥有一个具有引用某个其他实体的属性的实体实例,则在代码中取消引用该属性将导致发出数据库查询以实现该其他实体,如果它尚未加载。
E.g:
var foo = Context.Foos.First();
var bar = foo.Bar; // with lazy loading, this causes a DB query for foo.Bar;
“延迟执行”通常用于表示在迭代IQueryable
之前根本不会发出任何数据库查询。
E.g。
var foos = context.Foos.Where( f => f.Id == id); // no db query ; deferred
var foo = foos.First(); // now a query is issued.
var count = foos.Count(); // another query is issued
答案 1 :(得分:-1)
我怀疑您在Entity Framework 4中考虑“延迟加载”,这实际上与延迟加载相同。