1

Доброго времени суток уважаемые! Хочу задать наверное глупый вопрос - для чего нужен метод Include в Entity Framework? Пытался писать код и с ним и без него, проверял генерируемый SQL код с помощью LINQ Pad но не находил никакой разницы. Где этот метод бывает необходим или полезен? Что можно сделать с его помощью, чего нельзя или неудобно без него? Заранее спасибо!

2

1 ответ 1

1

Вероятно, в коде используется Lazy Loading. Чтобы отключить его, нужно пометить все свойства DbSet<> класса MyDbContext как virtual. В этом случае при выполнении .ToList() в данных связанных объектов будет null. Чтобы заполнить их, потребуется принудительно указывать .Include().

1
  • при отключенной ленивой загрузке - отсутствует модификатор virtual у навигационного свойства. без указания ef о необходимости подгрузить связанные сущности(Include(), Load()), навигационные свойства будут равны null
    – Bald
    7 окт 2016 в 8:44

Ваш ответ

By clicking “Отправить ответ”, you agree to our terms of service and acknowledge you have read our privacy policy.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками или задайте свой вопрос.