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

如何针对OData开放类型实体的嵌套动态属性进行筛选?

OData开放类型实体的Filter属性引用问题

你给出的Filter写法是完全正确的,符合OData V4的规范要求。

开放类型的核心特性

你的myEntity是标记了OpenType="true"的开放类型实体,这类实体允许在实例中包含元数据定义之外的动态属性——包括像示例里location这种嵌套的复杂类型属性。

动态嵌套属性的Filter引用方式

在OData V4的Filter语法中,使用**斜杠/**导航嵌套属性是标准用法,所以你写的location/country可以正确定位到嵌套在location里的country属性。

你构造的请求URL:

foo.net/items?$filter=location/country ne null and location/country eq 'USA'

逻辑也很严谨:先判断location/country不为空,再校验其值等于USA,避免了因location本身为空导致的引用错误,完全符合OData V4的ABNF规范。

附相关定义与实例

实体元数据定义:

<EntityType Name="myEntity" OpenType="true">
    <Key>
        <PropertyRef Name="name" />
    </Key>
    <Property Name="name" Type="string" />
</EntityType>

实体实例示例:

{
  "name": "foo",
  "location": {
    "country": "USA"
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 00:35:20