2015-09-29 3 views
1

В настоящее время я сталкиваюсь с некоторыми проблемами при обращении к службам oData. Я очень новичок в синтаксисе запроса oData.

Я пытаюсь запросить службу OData используя следующий URL

https://mysite/DataQueryGroups? $ Выберите = Id, имя & $ фильтр = IsHidden Эквалайзер False & IsShared пе ложных & $ расширения = DataQueries ($ выберите = Id, Name , IsPinned;)

, который возвращает желаемые результаты мне. Выше запроса в основном возвращает все DataQueryGroups, где IsHidden = false и IsShared <> false, включая его дочерний объект DataQueries. Теперь я хочу добавить фильтр в список объектов DataQueries, чтобы отображать только те результаты, где IsPinned = true. Таким образом, я попытался следующий запрос

https://mysite/DataQueryGroups $ выберите = Id, имя & $ фильтр = IsHidden Эквалайзер False & IsShared пе ложных & $ расширения = DataQueries ($ выберите = Id, Name, IsPinned;? $ Фильтр = IsPinned эквалайзером true;)

Но это возвращает мне те же результаты, и похоже, что он не рассматривает внутренний фильтр/последний фильтр, который я указал в объекте DataQueries.

Я хотел бы знать, как фильтровать родительские и дочерние сущности и возвращать поля из обоих.

В этом синтаксисе я затрудняюсь. Пожалуйста, дайте мне знать, если кто-нибудь может помочь мне в этом вопросе.

Я использую OData версии 4.0

Благодарим Вас заранее Дипак

ответ

0

@Deepak

кажется, что последний Web API OData (v5.7) поддерживает вложенные фильтр расширяться. См. Этот вопрос: https://github.com/OData/WebApi/issues/127

Я также написал sample project на основе вашей модели. Он работает на моей стороне.

Не могли бы вы запустить его на свою сторону и сообщить мне какой-либо результат. Благодарю.

+0

Благодарим вас за изучение этой проблемы. Я попытался использовать код в примере проекта после добавления ссылки на последнюю службу oData 6.11.0. Но я получаю ошибку компиляции в GroupController, говоря, что «пространство имен ODataController не найдено». Есть ли что-то еще, что мне не хватает, или я могу загрузить полный образец проекта. – Deepak

+0

В настоящее время я использую oData version 6.11.0.0. Я могу создать проект после создания нового проекта и добавления отсутствующих пакетов NuGet. Не могли бы вы дать мне синтаксис запроса, который вы использовали для запуска. Я не уверен, что нужно добавить в файл WebApiConfig.cs. Благодарю вас – Deepak

Смежные вопросы