2010-02-03 83 views
3

我想知道是否延迟加载==延期执行?推迟执行

+1

请包含更多标记以指示您正在讨论的编程语言/框架。 – 2010-02-03 17:35:10

回答

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 
+0

我试图输入(并在同一时间直接在我的头上)。 +1为最快的手指:) – 2010-02-03 17:59:45

+1

我不相信海报没有标记为答案。 – 2012-05-30 13:42:11

-1

我怀疑你认为实体框架4中的“延迟加载”,实际上它与延迟加载相同。