Что вызывает выполнение отложенного запроса IQueryable?
Внутренне List<T>.AddRange
перечисляет IEnumerable
, что приводит к выполнению запроса.
Если вы хотите отложить это, вам придется переопределить AddRange
и большинство других List<T>
членов , чтобы выполнить запрос, , а затем пройти к базе осуществление.
Я не вижу выгоды от отсрочки запроса.
EDIT
Я полностью пропустил Count
звонок. Это выполнит подобный запрос (в основном необработанный запрос, заключенный во внешний запрос COUNT(*)
), что также может быть проблемой. Если запрос очень сложный и выполнение подсчета занимает много времени, это также может быть источником проблем с производительностью.