You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OData V4中如何筛选Status数组非空的ABCRevisions数据?

OData V4筛选关联数组非空的条目解决方案

要筛选出ABCRevisions中Status数组非空的条目,你需要在$filter里使用OData的any()函数判断关联集合是否存在元素,而非在$expand子句内做过滤。

正确请求示例

ODataService/v1/ODataServiceName.svc/v1/ABCRevisions?$expand=Status&$filter=Status/any()

之前方法无效的原因

  • 方法a的$expand=Status($filter=Name ne null)仅对Status数组内的元素做过滤,只会移除Status中Name为空的元素,但不会剔除本身Status为空数组的ABCRevisions条目,因此结果仍会包含这类数据。
  • 方法b的$expand=Status/$Order(推测你想写$count)仅用于获取Status数组的元素数量,不具备筛选父实体的能力,无法达成过滤目的。

扩展用法

如果需要同时满足Status数组非空且数组内元素符合特定条件(比如Name不为空),可以给any()添加条件:

ODataService/v1/ODataServiceName.svc/v1/ABCRevisions?$expand=Status&$filter=Status/any(s: s/Name ne null)

内容的提问来源于stack exchange,提问作者Elvisworld

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 19:25:44