Функция uri содержит родительский токен. функции uri не могут иметь родительских токенов

Я пытаюсь использовать функцию contains в фильтре против свойства навигации, которое не является коллекцией. Но я не могу заставить его работать

https://services.odata.org/V4/(S(5cduegdbizijxzaeonro1qmc))/TripPinServiceRW/People? $ Select = UserName & $ filter = Photo / contains (Name, 'e')

Это сообщение об ошибке «Функция Uri 'содержит' с родительским токеном. Функции Uri не могут иметь родительских токенов».

Однако я могу заставить его работать для свойств в свойствах навигации, которые являются коллекциями.

https://services.odata.org/V4/(S(5cduegdbizijxzaeonro1qmc))/TripPinServiceRW/People? $ Select = UserName & $ filter = Friends / any (a: contains (a / UserName, 'e'))

И оба приведенных выше примера работают при использовании eq, а не contains

https://services.odata.org/V4/(S(5cduegdbizijxzaeonro1qmc))/TripPinServiceRW/People? $ Select = UserName & $ filter = Friends / any (a: a / UserName eq 'e')

а также

https://services.odata.org/V4/(S(5cduegdbizijxzaeonro1qmc))/TripPinServiceRW/People? $ Select = UserName & $ filter = Photo / Name eq 'e'

Что мне не хватает? Большое спасибо

Я считаю, что причина того, что ваш первый не сработал, заключалась в том, что вы выбрали UserName ДО того, как вы отфильтровали. Работает, если фильтровать, а потом выбирать?

Robert McLaws 27.05.2019 19:54
1
1
167
0

Другие вопросы по теме