Ледаче завантаження в Entity Framework - явище за замовчуванням, яке відбувається під час завантаження та доступу до пов'язаних сутностей. Однак охоче навантаження відноситься до практики силового навантаження всіх цих відносин. Я зіткнувся з питанням, за якої ситуації охоче завантаження може бути більш вигідним, ніж ледаче завантаження. Задаючи це питання, оскільки очевидно, що ліниве завантаження є більш зручним для ресурсів, і навіть якщо ми використовуємо ToList()
метод, ми все одно можемо скористатися поведінкою лінивого завантаження. Однак я думав, що, можливо, ліниве завантаження збільшує кількість запитів до фактичної бази даних, і, можливо, саме тому розробники іноді використовуютьInlcude
метод примусового завантаження всіх відносин. Наприклад, при використанні Visual Studio автоматичного лісу в MVC 5, метод Index, який автоматично створюється в контролері, завжди використовує нетерпляче завантаження, і у мене завжди виникало питання, чому Microsoft використовує Eager Loading за замовчуванням у такому випадку.
Буду вдячний, якщо хтось пояснить мені, в якій ситуації нетерпляче завантаження було б вигідніше, ніж ледаче завантаження, і чому ми взагалі використовуємо його, хоча є щось більш зручне для ресурсів, як Ледаче завантаження.