这与Azure最近推出的目前处于预览形式的搜索服务有关。我试图找出如何使用OData过滤器和集合。我知道我可以这样做:
$filter=Products/any(p: p eq 'WidgetA')
将过滤WidgetA的Products集合。我想弄清楚的是如何指定WidgetA或WidgetB。我知道我可以这样做:
$filter=Products/any(p: p eq 'WidgetA') or Products/any(p: p eq 'WidgetB')
但是认为必须有更优雅或更短的方式来做到这一点。
答案 0 :(得分:1)
不幸的是,据我所知,没有。满足您要求的运营商是' in'但协议中没有:http://docs.oasis-open.org/odata/odata/v4.0/os/part2-url-conventions/odata-v4.0-os-part2-url-conventions.html
还有一件事:在范围变量之后应该有一个属性:
http://host/service/Orders?$filter=Items/any(d:d/Quantity gt 100)
在你的情况下它应该是" p /名称eq' WidgetA'"或其他一些属性。