Я использую интерфейсы IQueryable<T> во всем моем приложении и откладываю выполнение SQL в базе данных до тех пор, пока такие методы, как .ToList()
Мне нужно будет иногда находить количество определенных списков - без необходимости использовать данные в подсчете списка. Я знаю из своего опыта SQL, что SQL COUNT() гораздо меньше работает для БД, чем эквивалентный оператор SELECT, который возвращает все строки.
Итак, мой вопрос: будет ли меньше работать с БД, чтобы вернуть счетчик из метода IQueryable<T> Count(), чем преобразовать IQueryable<T> в список и вызвать метод списка Count()?
Я подозреваю, что он даст, что ToList() запустит SELECT sql, а затем в отдельном запросе подсчет строк. Я надеюсь, что Count() на IQueryable<T> просто отображает sql для SQL-запроса sql(). Но я не уверен. Знаете ли вы?