SAP OData metadata 定义中,entity type key 的作用是什么
什么是 OData entity type 的 key?
最权威的定义,来自 OData 官网:
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
从结果列表看出,有一个 EntityType,名称为 Category,Key 为 CategoryID.
要查看系统所有的 category,先要找到 Entity Type Category 对应的 entitySet:
在 metadata 里根据关键字 entityset 搜索,然后就能找到 Category 对应的 EntitySet 名称为 Categories.
然后把 Categories 拼接到 url 尾部,得到系统所有的 Categories:
https://services.odata.org/v2/Northwind/Northwind.svc/Categories?$format=json
总共 8 条数据:
我们可以传入 CategoryID,根据这个 key 来查找对应的 Category 数据:
https://services.odata.org/v2/Northwind/Northwind.svc/Categories(3)?$format=json
根据 key 访问单条 entity 的语法:EntitySet 名称+(key值)
除了 key 之外,OData 不支持通过 entity 其他属性放到小括号里的语法来查询。
试图查找 CategoryName 为 Confections 的 Category 实例,语法错误:
对于根据非 key 属性查询的需求,使用 OData $filter 操作:
https://services.odata.org/v2/Northwind/Northwind.svc/Categories?$filter=CategoryName eq ‘Confections’
相关文章
- SAP UI5 SimpleForm 的 two-column layout 布局
- SAP Spartacus 产品搜索页面结果里的 filter 设计明细
- SAP UI5 sap.ui.layout.Grid 控件宽度百分比的设置原理
- 测试 SAP 电商云 Spartacus UI 3.4.x 和 4.3.x 的 guest checkout 功能
- 关于 SAP ABAP CL_HTTP_CLIENT API 中的 SSL_ID 参数
- SAP UI5 应用中的 sap.ui.require 使用场景
- SAP UI5 应用中的 sap.ui.require.toUrl 使用场景
- SAP IDES、DEV、QAS、PRD都是什么含义「建议收藏」
- SAP UI5 sap.ui.Device.media 的使用介绍
- SAP UI5 sap.ui.Device.media 公有方法介绍
- 为什么SAP ECC系统需要升级?升级路径有哪些?
- 通过一个实际例子,理解 SAP UI5 sap.ui.model.odata.v2.ODataModel API 中 BindingContext 绑定上下文的概念和用法试读版
- SAP 异常现象之同一个IDoc可以被POST两次触发2张不同的物料凭证
- 如何使用 SAP OData 服务向 ABAP 服务器上传文件试读版
- SAP QM 对检验批做使用决策时候所输入的文本信息
- 如何将SAP归档数据合并到数据湖中
- SAP 金额在表中的存储及货币转换因子详解编程语言
- SAP (ABAP) 常用的数学函数详解编程语言
- Sap 常用Function 说明详解编程语言
- (转载整理)SAP ERP常用T-CODE详解编程语言
- SAP MM分割评估详解编程语言
- SAP 库存相关表格详解编程语言
- SAP 通过事务代码与屏幕变式(SHD0)控制控制用户界面的某些字段,以控制生产订单的调度类型为例详解编程语言
- SAP S/4HANA BP功能详解编程语言
- SAP query传输以后需要重新生成程序详解编程语言
- SAP在Linux系统的安装与使用(sap安装linux)
- 不靠谱企业的IT现状能糟糕到什么程度,气坏新来的SAP工程师