OData metadata 定义中,entity type key 的作用是什么

简介: OData metadata 定义中,entity type key 的作用是什么

什么是 OData entity type 的 key?


最权威的定义,来自 OData 官网:


image.png


OData EDM 模型的核心概念是实体 entities 和关联即 associations. Entities 是 OData 模型描述对象的实体类型(例如,客户、员工等)的实例,它们是结构化记录,由name 和强类型属性组成,并带有一个 key.


Complex Types(复杂类型)是结构化类型,也由属性列表组成,但没有 key,因此只能作为包含实体的属性或作为临时值存在,而无法单独存在。


OData Complex Types 同 ABAP DDIC 里的 Structure 非常类似。


Entity key 由单个或者多个 OData entities 属性组成(例如,CustomerId 或 OrderId),用于唯一标识实体类型实例并允许实体类型实例参与关系的基本概念。


通过具体的例子来说明。


下面是 Northwind OData metadata url:


https://services.odata.org/v2/Northwind/Northwind.svc/$metadata



image.png

从结果列表看出,有一个 EntityType,名称为 Category,Key 为 CategoryID.


要查看系统所有的 category,先要找到 Entity Type Category 对应的 entitySet:


image.png


在 metadata 里根据关键字 entityset 搜索,然后就能找到 Category 对应的 EntitySet 名称为 Categories.


然后把 Categories 拼接到 url 尾部,得到系统所有的 Categories:


https://services.odata.org/v2/Northwind/Northwind.svc/Categories?$format=json


总共 8 条数据:

image.pngimage.png


我们可以传入 CategoryID,根据这个 key 来查找对应的 Category 数据:


https://services.odata.org/v2/Northwind/Northwind.svc/Categories(3)?$format=json


image.png


根据 key 访问单条 entity 的语法:EntitySet 名称+(key值)


image.png


除了 key 之外,OData 不支持通过 entity 其他属性放到小括号里的语法来查询。


试图查找 CategoryName 为 Confections 的 Category 实例,语法错误:


image.png


对于根据非 key 属性查询的需求,使用 OData $filter 操作:


https://services.odata.org/v2/Northwind/Northwind.svc/Categories?$filter=CategoryName eq ‘Confections’

image.png

相关文章
|
3月前
|
XML 缓存 API
【Azure API 管理】使用APIM进行XML内容读取时遇见的诡异错误 Expression evaluation failed. Object reference not set to an instance of an object.
【Azure API 管理】使用APIM进行XML内容读取时遇见的诡异错误 Expression evaluation failed. Object reference not set to an instance of an object.
|
机器学习/深度学习 自然语言处理 算法
TABs(Type Abstraction,类型抽象):Open Relation and Event Type Discovery with Type Abstraction论文解读
传统的“封闭世界”信息提取(IE)方法依赖于人类本体来定义抽取范围。因此,当应用到新的领域时,这种方法就不适用了。这就要求系统能够从给定的语料库中自动推断出新的类型
63 0
|
JSON 数据处理 数据格式
关于 SAP ABAP OData 服务响应里的 d,results 和 __metadata 这几个字段的作用
关于 SAP ABAP OData 服务响应里的 d,results 和 __metadata 这几个字段的作用
|
数据建模
SAP SEGW 里的 Entity Type 作用讲解
SAP SEGW 里的 Entity Type 作用讲解
197 0
SAP SEGW 里的 Entity Type 作用讲解
SAP WM Storage Type Search配置里的Storage Class & WPC标记
SAP WM Storage Type Search配置里的Storage Class & WPC标记
SAP WM Storage Type Search配置里的Storage Class & WPC标记
|
JSON 数据格式
OData metadata 定义中,entity type key 的作用是什么
OData metadata 定义中,entity type key 的作用是什么
168 0
OData metadata 定义中,entity type key 的作用是什么
SAP Cloud for Customer 2102版本如何使用Key User Tool创建扩展字段 - extension field
SAP Cloud for Customer 2102版本如何使用Key User Tool创建扩展字段 - extension field
SAP Cloud for Customer 2102版本如何使用Key User Tool创建扩展字段 - extension field
在S4 key user tool里创建Custom Logic的后台实现
在S4 key user tool里创建Custom Logic的后台实现
114 0
在S4 key user tool里创建Custom Logic的后台实现