2013-06-06 3 views
2

У меня есть некоторые проблемы моделирования OData Service. Мое требование состоит в том, что я хочу запросить набор объектов по списку одиночных значений и/или диапазонов. Пример: Дайте мне все сущности из набора сущностей, где идентификатор равен 3, 6, 8, между 14 и 20 или между 35 и 77.OData: Запрос со встроенной таблицей/сущностью?

Как это можно моделировать? Я думал о функции Импорт, но я не уверен, что в качестве параметра можно использовать набор объектов (= список значений/диапазонов) !?

Заранее благодарим за вашу помощь!

ответ

0

Вы должны иметь возможность сделать это с помощью встроенного механизма фильтрации OData, параметра строки запроса $filter.

Например, запрос URI будет выглядеть примерно так:

http://.../MyService.svc/EntitySet?$filter=ID eq 3 or ID eq 6 or ID eq 8 or (ID ge 14 and ID le 20) or (ID ge 35 and ID le 77)

+0

Простой, но эффективный ;-) Спасибо! Следующий вопрос: доступен ли фильтр $ для импорта функций или только для наборов объектов? – Daniel

+0

И еще один вопрос: я хочу, чтобы запрос включал все объекты с идентификатором от 1 до 40, включал идентификаторы> = 60, исключал идентификатор 17 и исключал идентификаторы между 99 и 105. Как это будет выглядеть? – Daniel

+0

Тайна решена: $ filter = ((ID ge 1 и ID 40) или ID ge 60) и ID ne 17, а не (ID ge 99 и ID 105) – Daniel

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