OData实体类型的key是什么?最权威的定义来自OData官网:ODataEDM模型的核心概念是实体和关联。实体是描述OData模型中对象的实体类型(例如,客户、员工等)的实例。名称和带有键的强类型属性。复杂类型(complextypes)是结构化类型,同样由属性列表组成,但没有键,因此它们只能作为包含实体的属性或作为临时值存在,不能单独存在.OData复杂类型与ABAPDDIC中的结构非常相似。实体键由单个或多个OData实体属性(例如,CustomerId或OrderId)组成,用于唯一标识实体类型实例并允许实体类型实例参与关系的基本概念。通过具体例子来说明。下面是NorthwindOData元数据url:https://services.odata.org/v2...$metadata从结果列表可以看出有一个EntityType,名字是Category,Key是CategoryID.查看系统中的所有分类,首先要找到EntityTypeCategory对应的entitySet:根据元数据中关键字entityset进行搜索,即可找到名称为Categories的Category对应的EntitySet。然后将Categories拼接到url的末尾,得到系统中所有的Categories:https://services.odata.org/v2...$format=json一共有8条数据:我们可以传入CategoryID,根据这个key找到对应的Category数据:https://services.odata.org/v2...(3)?$format=json根据key访问单个实体的语法:EntitySet名称+(key值)OData除了key之外不支持将实体的其他属性放在括号中进行查询。试图找到CategoryName为Confections的Category实例,语法错误:对于基于非关键属性查询的需求,使用OData$filter操作:https://services.odata.org/v2...$filter=CategoryNameeq'Confections'moreJerry的很多原创文章都在这里:《王子熙》:
