Это исключение указывает на неподдерживаемый метод LINQ.
I wi sh EF Core предоставил документацию со списком поддерживаемых / неподдерживаемых методов LINQ (и свойств / методов CLR), таких как EF6, но до сих пор они этого не делали, поэтому это метод проб и ошибок.
Но TakeWhile
и SkipWhile
определенно являются одними из неподдерживаемых (и я думаю, что они никогда не будут). Я не уверен, почему Queryable
вообще их содержит - вероятно, для совместимости с методами Enumerable
. Но AFAIK ни один поставщик запросов (кроме LINQ to Object, конечно) не реализует их, поскольку у них нет естественного перевода в SQL.
Вы, конечно, можете переключиться на методы Enumerable
(с AsEnumerable()
as объяснено в ссылке), но в целом это нехорошо. Лучше express ваш запрос с другими стандартными операторами LINQ.
PS База данных и поставщик базы данных EF Core не имеют значения - вышеупомянутые методы не поддерживаются процессором запросов EF Core LINQ.