Ленивая загрузка в Entity Framework - явление по умолчанию, которое происходит при загрузке связанных сущностей и доступе к ним. Однако жадная загрузка относится к практике принудительной загрузки всех этих отношений. Я столкнулся с вопросом, в какой ситуации ускоренная загрузка может быть более выгодной, чем ленивая загрузка. Спрашиваем об этом, потому что очевидно, что ленивая загрузка более дружественна к ресурсам, и даже если мы воспользуемся этим ToList()
методом, мы все равно сможем воспользоваться преимуществами ленивой загрузки. Однако я подумал, что, возможно, ленивая загрузка увеличивает количество запросов к реальной базе данных, и, возможно, поэтому иногда разработчики используютInlcude
метод принудительной загрузки всех отношений. Например, при использовании автоматического создания шаблонов Visual Studio в MVC 5 метод Index, который автоматически создается в контроллере, всегда использует нетерпеливую загрузку, и у меня всегда возникал вопрос, почему в этом случае Microsoft использует нетерпеливую загрузку по умолчанию.
Я был бы признателен, если бы кто-нибудь объяснил мне, в какой ситуации жадная загрузка будет более выгодной, чем ленивая загрузка, и почему мы вообще ее используем, когда есть что-то более дружественное к ресурсам, как ленивая загрузка.