任何人都可以解释实体框架中的延迟加载吗?

时间:2013-02-25 10:22:01

标签: c# entity-framework

我想用一个简单的例子来简单解释一下Entity Framework中的延迟加载。

  • 为什么我们使用延迟加载?
  • 我们何时使用延迟加载?

2 个答案:

答案 0 :(得分:3)

延迟加载意味着延迟加载相关数据,直到您明确请求它为止。

从这里举个例子..

Lazy loading

答案 1 :(得分:3)

Mike Stone在this

中所述

它被称为延迟加载,因为,就像一个懒惰的人,你正在推迟做你不想做的事情。相反的是Eager Loading,您可以在需要之前立即加载一些东西。

如果您好奇为什么人们可能会使用延迟加载,请考虑一个需要LOOOOONG时间才能启动的应用程序。这个应用程序可能正在进行大量的热切加载......从磁盘加载东西,进行计算以及在需要之前很久。

将此与延迟加载相比较,应用程序启动速度会快得多,但是当您第一次需要执行需要长时间运行负载的操作时,第一次加载时可能会有轻微停顿。因此,使用延迟加载,您将在运行应用程序的整个过程中分摊加载时间......实际上,您可能无法加载用户可能永远不会使用的内容。