У меня проблема с OData WebAPI и запросом EnumerableQuery
(список, в котором я вызвал .AsQueryable()
. У меня есть набор сущностей, контроллер с методом Get, который возвращает IQueryable
. Когда я запрашиваю этот набор сущностей и использую этот фильтр $
$filter=SomeStringProp eq 'SomeValue'
Я получаю только сущности, у которых SomeStringProp
равно 'SomeValue'
по буквам и регистру. Я хотел бы каким-то образом заставить OData использовать компаратор без учета регистра для всех строк - даже с такими вызовами функций
$filter=contains(SomeStringProp, 'apple')
Мне нужно, чтобы OData возвращал объекты, у которых SomeStringProp равен 'APPLE'
, 'PineApple'
и 'AppleSauce'
.
Некоторая дополнительная информация:
- База данных не имеет к этому никакого отношения; как указано, коллекция находится в памяти
- Использование tolower() в запросах OData — это всего лишь обходной путь, поэтому это не решение проблемы.