ToListAsnync () работает в сочетании с take () - PullRequest
0 голосов
/ 25 октября 2018

в следующем

var formList = await _formRepository.GetList(x)
                .WhereNotHistorical()
                .OrderByDescending(f => f.dt)
                .Take(5)
                .ToListAsync();

, поскольку при перечислении асинхронно он не только возвращает первые 5, но и корректен?он все еще ждет весь набор результатов, прежде чем заказывать и брать 5. Я просто хотел убедиться.

1 Ответ

0 голосов
/ 25 октября 2018

Зависит от того, что делают .GetList(x) и .WhereNotHistorical().Если они принимают добавление IQueryable к запросу и возвращают IQueryable<T>, то следует добавить инструкции в запрос SQL, чтобы получить только 5 результатов после упорядочения.Если, однако, любой из них принимает или возвращает IEnumerable<T>, то любые инструкции после этого будут выполняться в памяти, так что вы можете получить весь набор результатов из базы данных, а фильтрация и упорядочение будут выполняться в памяти.

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