Если вы продолжите go до ошибки, у вас должна быть ссылка на Microsoft, чтобы указать точную причину ошибки! В моем случае, когда я попробовал ваш код, я получил следующее: exception
.
'The LINQ expression' Where (источник: DbSet, predicate: (v) => v.SalesValue> = 10000.00) 'не может быть переведено. Либо перепишите запрос в форме, которая может быть переведена, либо явно переключитесь на оценку клиента, вставив вызов либо AsEnumerable (), AsAsyncEnumerable (), ToList (), либо ToListAsyn c (). См. https://go.microsoft.com/fwlink/?linkid=2101038 для получения дополнительной информации. '
Если мы go перейдем по ссылке и исследуем Unsupported client evaluation
по проблеме, с которой вы столкнулись!
Один подход был бы слишком полезным - Explicit client evaluation
что-то вроде ниже, если у вас небольшой объем данных:
var orders = _context.Values.AsEnumerable().Where(x => x.SalesValue >= 10000.00M).ToList();
Есть некоторые другие соображения, которые вы можете придется принимать в зависимости от ваших данных и бизнес-модели, которую вы можете получить по ссылке выше!
Как правило, Entity Framework Core пытается максимально точно оценить запрос на сервере . EF Core преобразует части запроса в параметры, которые он может оценить на стороне клиента. Остальная часть запроса (вместе со сгенерированными параметрами) передается поставщику базы данных для определения эквивалентного запроса к базе данных для оценки на сервере.