实体框架中的延迟加载是加载和访问相关实体时发生的默认现象。但是,急切加载是指对所有这些关系强制加载的做法。我遇到了一个问题:在什么情况下,渴望加载比延迟加载更有益。提出这个问题,因为很明显,延迟加载对资源更友好,即使我们使用该ToList()方法,我们仍然可以利用延迟加载行为。但是,我认为延迟加载可能会增加对实际数据库的请求数量,这也许就是为什么有时开发人员使用Inlcude强制加载所有关系的方法。例如,当在MVC 5中使用Visual Studio自动脚手架时,在控制器中自动创建的Index方法始终使用“急切加载”,而我一直有一个问题,为什么Microsoft在这种情况下默认使用“急切加载”。
ToList()
Inlcude
如果有人在什么情况下向我解释,优先加载比延迟加载更有利,以及在有比延迟加载更友好的资源的情况下,为什么我们要完全使用它,我将不胜感激。
我认为对这样的关系进行分类很好
何时使用紧急加载
何时使用延迟加载
注意: 就像Transcendent所说的,延迟加载可能存在处理问题。