如何基于集合属性的长度/数量过滤OData数据集
错误原因
你参考的OData V4规范中的集合属性计数写法属于服务可选支持的特性,你调用的TripPin服务未开放该特性支持,因此直接写Trips/$count会抛出集合无法作为属性访问父节点的报错。
正确写法
改用兼容性更高的函数式集合计数语法即可,将过滤条件修改为$filter=$count(Trips) eq 3,完整请求如下:
https://services.odata.org/V4/TripPinServiceRW/People?$filter=$count(Trips) eq 3&$expand=Trips
该写法是OData V4及更高版本的通用标准写法,无需服务额外开启可选特性,绝大多数OData服务均可正常解析。
内容的提问来源于stack exchange,提问作者Tuan-Tu Tran
相关产品推荐
相关产品推荐

