Проблема в том, что поставщик LINQ-to-Entities попытается преобразовать ваш метод расширения в оператор SQL. LINQ-to-Entities эффективно требует, чтобы все выражение запроса LINQ было переведено в SQL (обратите внимание, что LINQ-to-SQL не имеет этого ограничения; LINQ-to-Entities проводит четкую границу между клиентским пространством и пространством сервера, тогда как LINQ-to -SQL слабее). В зависимости от вашего метода расширения, это, вероятно, не может быть сделано. То есть, если есть какие-либо вызовы методов и т. Д., Которые нельзя преобразовать в SQL для работы в качестве запроса на стороне сервера, забудьте об этом.