First () в LINQ вызывает нетерпеливую или ленивую загрузку? - PullRequest
3 голосов
/ 30 марта 2019

У меня есть запрос:

db.Order.Include("OrderItem").First(r => r.Id == OrderId)
  1. Является ли First () само по себе причиной загрузки Eager или Lazy?
  2. Если нет, то как бы вы вызвали загрузку Eager дляПервый ()?
  3. Сложно ли загружен вышеуказанный комбинированный запрос?

1 Ответ

9 голосов
/ 30 марта 2019

First() и FirstOrDefault() выполняются немедленно (с нетерпением) в точке их вызова.

Все стандартные операторы LINQ, которые возвращают один не перечисляемый результат, и те, которые выполняютне возвращать явное IEnumerable<T>, выполняются немедленно.

См. Классификация стандартных операторов запросов по способу выполнения для получения полного списка операторов LINQ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...