定义 Entity Type 是在事物码 SEGW 里进行数据建模的步骤之一。
在 Service Builder 项目中使用 Entity Type
来描述实体数据模型(EDM)中的数据结构。Entity Type
表示数据的特定类型,例如 Item
或 Concept
。实体类型由下列这些元素组成:
- 一个唯一的名称
如下图图例1 Opportunity 所示:
- 键,可以由一个或多个属性(Is key)定义
如下图所示,Opportunity Entity Type 的 key 为 guid,通过 Is Key
标识:
- 属性(可选)
下图包括 Guid key 在内的所有高亮字段都是 entity type 的属性。
- 导航属性(可选用于在关联之间导航)
导航属性一览:
实体类型属性必须遵循 OData 协议允许和提供的数据类型,或者是复杂类型。实体类型必须有唯一标识符,允许属于该实体类型的实体在 OData 上下文中使用。可以在实体集(Entity Set)中将实体类型分组在一起。
下面是一个例子,Entity Set 和 Entity Type 的包含关系:
使用右键菜单创建 Entity Type:
如上图所示,一个 property 由下列字段组成:
-
属性字段:包含名称和类型。核心类型如 Nullable, MaxLength, FixedLength, Precision, Scale 或复杂类型
-
注释:SAP注释(如Creatable, Deletable, Label, UnitProperty) 或者 Vocabulary-based注释
-
ABAP类型信息,包含 ABAP字段名和 ABAP类型赋值
一些字段的含义:
- Creatable:SAP annotation 的其中之一,用于使用SAP annotated 类型的 Service 类型项目。如果期望的行为是允许在运行时在 HTTP POST 对应的创建请求中为该属性赋值,请选中此复选框。
如果选择此复选框,则必须在数据模型中支持并实现 Create 操作。
-
Updatable:原理同 Creatable 类似,在 HTTP PUT 和 MERGE 请求中实现 update 操作。
-
Sortable:勾上这个选项的属性,需要支持 OData 的
$orderby
操作。 -
Nullable:这是 EDM 属性。如果要允许在运行时为该属性输入 null 值,请选中此复选框。
-
Filterable:支持
$filter
操作。 -
Label:在 Service with SAP Annotations 项目中使用,需要维护语言相关的文本标签。
网友评论