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

相关文章
|
2月前
|
缓存 UED
关于 SAP OData Annotation Provider Class 以及 metadata 模型注册的事务码
关于 SAP OData Annotation Provider Class 以及 metadata 模型注册的事务码
26 0
|
6月前
|
JSON 数据处理 数据格式
关于 SAP ABAP OData 服务响应里的 d,results 和 __metadata 这几个字段的作用
关于 SAP ABAP OData 服务响应里的 d,results 和 __metadata 这几个字段的作用
70 2
|
8月前
|
机器学习/深度学习 自然语言处理 算法
TABs(Type Abstraction,类型抽象):Open Relation and Event Type Discovery with Type Abstraction论文解读
传统的“封闭世界”信息提取(IE)方法依赖于人类本体来定义抽取范围。因此,当应用到新的领域时,这种方法就不适用了。这就要求系统能够从给定的语料库中自动推断出新的类型
43 0
|
数据建模
SAP SEGW 里的 Entity Type 作用讲解
SAP SEGW 里的 Entity Type 作用讲解
144 0
SAP SEGW 里的 Entity Type 作用讲解
|
API 数据库
Entity Framework复杂类型属性映射
Entity Framework复杂类型属性映射
122 0
Entity Framework复杂类型属性映射
|
数据库 C#
Entity Framework 简单属性映射
Entity Framework 简单属性映射
1068 0
Entity Framework 简单属性映射
SAP WM Storage Type Search配置里的Storage Class & WPC标记
SAP WM Storage Type Search配置里的Storage Class & WPC标记
SAP WM Storage Type Search配置里的Storage Class & WPC标记
|
Java Spring
Field roomService in edu.hpu.controller.GuestController required a bean of type 'edu.hpu.service.Roo
Field roomService in edu.hpu.controller.GuestController required a bean of type 'edu.hpu.service.Roo
114 0
|
JSON 数据格式
OData metadata 定义中,entity type key 的作用是什么
OData metadata 定义中,entity type key 的作用是什么
143 0
OData metadata 定义中,entity type key 的作用是什么
如何处理SAP gateway service使用过程中遇到的400 error - invalid key predicate type for guid
如何处理SAP gateway service使用过程中遇到的400 error - invalid key predicate type for guid
225 0
如何处理SAP gateway service使用过程中遇到的400 error - invalid key predicate type for guid