Similar presentations:
Eager loading c#
1. EAGER Loading C# (доклад по дисциплине «Проектный практикум 2»)
EAGER LOADING C#(ДОКЛАД ПО ДИСЦИПЛИНЕ «ПРОЕКТНЫЙ
ПРАКТИКУМ 2»)
ВЫПОЛНИЛА
СТУДЕНТКА ГРУППЫ Б07-021-1
СЕМЕРИКОВА МАРИЯ
2. Загрузка связанных данных
ЗАГРУЗКА СВЯЗАННЫХДАННЫХ
В Entity Framework существует
три
подхода
для
загрузки
связанных данных:
• «отложенная
загрузка»
(lazy
loading);
• «прямая загрузка» (eager loading);
• «явная загрузка» (explicit loading).
3. eager loading
EAGERLOADING
В этом
примере базе
данных будет
отправляться
всего один
запрос при
инициализаци
и коллекции
customers.
Рисунок 1 - Метод EagerLoading
4. eager loading
EAGERLOADING
Класс Profile
связан с
классом
Customer
связью один-кодному, а класс
OrderLine связан
с классом Order
связью один-комногим.
Рисунок 2 – Добавление классов
5. eager loading
EAGERLOADING
Рисунок 3 – Загрузка связанных данных
Для загрузки связанных данных из таблицы
Profiles нужно будет использовать отдельный вызов
метода Include(), а для загрузки связанных данных
из OrderLines нужно указать метод Select() со
ссылкой на этот класс, при вызове метод Include()
для Orders (т.к. OrderLines напрямую не связан с
Customer).
6. eager loading
EAGERLOADING
Рисунок 4 - Запрос
Запрос извлекает все связанные данные для покупателя
с идентификатором равным 2.
7. eager loading
EAGERLOADING
Прямая загрузка приводит к возврату всех
связанных сущностей вместе с запрошенными
сущностями в единственном запросе. Это означает,
что, несмотря на установку только одного
соединения с источником данных, в начальном
запросе происходит возврат большего объема
данных. Кроме того, применение путей запроса
приводят к получению более сложного запроса из-за
дополнительных соединений, которые требуются в
запросе к источнику данных.