ODATA - сбор трехуровневых вложенных данных, фильтрация с ЛЮБОЙ на самом низком уровне не удается - PullRequest
0 голосов
/ 30 апреля 2019

У меня есть вложенная коллекция данных (Orders> Items> Returns), которые мне нужно получить через URL-адрес в формате OData 4. Если поле состояния в коллекции «Возвращает» имеет значение «ИСТИНА», я хочу получить данные о его возврате, позиции и заголовке заказа в формате JSON.

Независимо от того, что я пытаюсь, я не могу заставить OData что-либо возвращать, если фильтрация имеет три уровня глубины. Любая попытка более двух уровней приводит к изменениям этой ошибки:

Запрос, указанный в URI, недопустим. Родительское значение для доступа к свойству свойства не является единственным значением. Доступ к собственности может быть применен только к одному значению.

Используя ЛЮБОЙ оператор, этот URL-адрес близок к тому, что я хочу, но он не работает.

/Orders?$filter=Items/Returns/Any (c:c/Status eq 'TRUE')&$expand=Items($expand=Returns)

Может ли это работать с правильным синтаксисом или трехуровневый поиск не входит в спецификацию OData?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...