Задать вопрос
@forven

Как работает lazy loading?

Как работает Lazy Loading?
Читал что при первом обращении к сущности загрузка относящихся объектов не выполняется-что значит при первом обращении ?
Но при обращении к navigation property выполняет-что значит обращение к navigation property ? А так же куда выполняется загрузка -в кэш ? А как удаляется информация-после обращения к ней убирается ? Что происходит где как
Так же существуют способы Eager и Explicit загрузки. Например я не хочу в какие-то моменты использовать Lazy loading, а хочу Explicit loading-такое возможно ?
А так же встаёт вопрос как это всё влияет на модель данных и БД в каждом из способов загрузки?
_____
А теперь маленькие рабочие вопросы: Как в каждом из случаев обращаться в связанным параметрам ? Не очень легко найти подробную и понятную инструкцию
  • Вопрос задан
  • 4008 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
effetto
@effetto
.Net разработчик
Судя по вопросу, Вы имеете ввиду Entity Framework?

По поводу lazy loading есть отличная статья Джулии Лерман от '11 года. Несмотря на то, что статья довольно старая, она актуальна.

Здесь краткий пример использования технологии, а здесь - официальное описание.

В общих чертах Lazy Loading работает через создание прокси классов над Вашим кодом, который обеспечивает вызов методов загрузки - cвоеобразная реализация dependency injection.

Загрузка связных сущностей осуществляется при обращении к свойству навигации (поведение по умолчанию), однако Вы можете указать фреймверку непосредственно загрузить связные объекты посредством метода Include.

Свойство навигации - это свойство типа или списка типа, такое, что тип представляет собой другую сущность в той же модели данных.

Lazy loading можно непосредственно отключить в конструкторе контекста или указать непосредственную загрузку методом Include как писалось ранее.

На модель данных способ загрузки не оказывает иного влияния, кроме создания прокси классов.

Обращение к сущностям происходи прозрачно, через оператор ".", как к свойствам объекта.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы