В стандартной реализации linq операторы "select" и "where" отображаются на методы, которые возвращают IEnumerable или IQueryable. Поэтому стандартные методы linq при использовании всегда должны возвращать IEnumerable из вашего запроса, а не один объект.
Но методы linq, которые являются кандидатами в операторы linq, не ограничиваются методами, возвращающими IEnumerables, любой метод, возвращающий что угодно, может быть выбран.
В случае, если у вас есть методы экземпляра с именами «Выбор» и «Где», которые возвращают один объект или методы расширений, специфичные для вашего класса, и возвращают один объект, который будет использоваться вместо стандартных linq.
Я предполагаю, что метод "Select" или "Where", определенный в вашем классе, заставляет linq возвращать одно значение вместо IEnumerable<T>
.