Я пытаюсь реализовать запрос в EF Core, в котором мне нужно получить данные, где любое имя в строковом массиве содержится в имени объекта данных. Вот пример кода:
var searchKeys = search.Split(' ');
var objects = _db.Objects
.Where(o => searchKeys.Any(k => o.name.Contains(k))))
.OrderBy(o => o.Name)
.Select o
Но запрос не может быть переведен, что приводит к следующей ошибке:
Выражение LINQ 'DbSet .Where (o => __searchKeys_1 .Any (k => __Functions_2 .Contains (_: o.Name, propertyReference: k))) 'не удалось перевести. Либо переписать запрос в форме, которую можно перевести, либо переключиться на оценку клиента явно, вставив вызов либо в AsEnumerable (), AsAsyncEnumerable (), ToList (), либо в ToListAsyn c (). См. https://go.microsoft.com/fwlink/?linkid=2101038 для получения дополнительной информации.
Как я могу создать запрос, чтобы исправить ошибку?