Как я могу убедиться, что мои запросы LINQ выполняются при вызове в моем DAL, а не с задержкой?
-
06-07-2019 - |
Вопрос
У меня есть DAL, который состоит из нескольких методов, выполняющих запросы LINQ в моей базе данных.
Как мне убедиться, что перед возвратом, скажем, IEnumberable или чего-то подобного из базы данных я гарантирую, что запрос LINQ будет выполнен then , а не с некоторой задержкой, чтобы он выполнялся только тогда, когда результат используется?
Я знаю, что могу вызвать .ToList () для моего результата в моих методах, чтобы заставить его выполнить, но это лучший способ?
Решение
Вызов ToList
или ToArray
действительно лучший способ заставить его выполнить и получить всю последовательность (см. комментарий Рандольфо ниже о других методах, которые будут принудительно выполнять отдельные элементы последовательности). Р>
Есть ли конкретная причина, по которой вы хотели бы избежать отсрочки?