如何使用 SAP UI5 V2 ODataModel 创建数据

时间:2022-10-08 12:56:28

在 OData V2 模型中创建新实体存在三种不同的方法。 最适合的方法取决于应用程序用例。

对于所有方法,对应的 API 都采用一个 groupId 指定一个批处理组,以控制何时将创建实体的 POST 请求发送到后端; 默认情况下,使用延迟批处理组 ​​change​​.

方法1:ODataModel.createEntry

​ODataModel.createEntry​​ 创建一个条目并返回与其对应的上下文。 在以下情况下使用此方法:

该方法获取要创建的实体集的路径,以及创建条目的可选初始属性; properties 参数中使用的路径和属性名称都必须存在于 OData 服务的元数据定义中。

将初始数据创建为通过模型中的 getObject 检索的现有数据对象的副本时要小心:需要从副本中删除 __metadata 属性,因为它不能在创建请求的有效负载中发送。

此方法返回的上下文是 ​​transient​​ 的。 这意味着相应的实体只存在于客户端上,直到它被持久化(对于延迟批处理组,使用 submitChanges API),从而将其状态更改为持久化,或者使用 resetChanges API 将其删除。

请注意,当在 submitChanges 上发送的创建请求失败时,它会在下一次调用 submitChanges 时自动重试,然后可能会成功,例如因为添加了缺少的属性。

如何使用 SAP UI5 V2 ODataModel 创建数据