Как я могу убедиться, что мои запросы LINQ выполняются при вызове в моем DAL, а не с задержкой?

StackOverflow https://stackoverflow.com/questions/1013201

Вопрос

У меня есть DAL, который состоит из нескольких методов, выполняющих запросы LINQ в моей базе данных.

Как мне убедиться, что перед возвратом, скажем, IEnumberable или чего-то подобного из базы данных я гарантирую, что запрос LINQ будет выполнен then , а не с некоторой задержкой, чтобы он выполнялся только тогда, когда результат используется?

Я знаю, что могу вызвать .ToList () для моего результата в моих методах, чтобы заставить его выполнить, но это лучший способ?

Это было полезно?

Решение

Вызов ToList или ToArray действительно лучший способ заставить его выполнить и получить всю последовательность (см. комментарий Рандольфо ниже о других методах, которые будут принудительно выполнять отдельные элементы последовательности).

Есть ли конкретная причина, по которой вы хотели бы избежать отсрочки?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top