Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про Entity Framework: lazy loading, queries, deferred

Для чего используется Lazy Loading? В чём его плюсы и минусы?

Проверяет знание отложенной подгрузки связанных сущностей в EFCore.

Короткий ответ

Lazy Loading автоматически загружает связанные объекты при первом обращении к навигационному свойству. Плюс — вы не загружаете всё сразу, экономя ресурсы. Минус — «N+1» проблема: при переборе коллекции делается много отдельных запросов, что сильно бьёт по производительности.

Длинный ответ

Включение:

services.AddDbContext<MyCtx>(opt => 
  	opt.UseLazyLoadingProxies().UseSqlServer(conn));

Пример:

  • blog.Posts при первом чтении генерирует запрос к Posts.

Плюсы:

  • Простота: не нужно писать Include.

  • Загружается только при необходимости.

Минусы:

  • Множество мелких запросов → нагрузка на БД.

  • Трудно контролировать, когда выполняются запросы.

Альтернатива:

  • Eager Loading с Include или явный Load.

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • Entity Framework

    Entity Framework

Ключевые слова

#lazy loading

#queries

#deferred

Подпишись на C# Developer в телеграм