在 OData V2 模型中创建新实体存在三种不同的方法。 最适合的方法取决于应用程序用例。
对于所有方法,对应的 API 都采用一个 groupId 指定一个批处理组,以控制何时将创建实体的 POST 请求发送到后端; 默认情况下,使用延迟批处理组 change
.
方法1:ODataModel.createEntry
ODataModel.createEntry
创建一个条目并返回与其对应的上下文。 在以下情况下使用此方法:
- 有一个表单或弹出窗口,最终用户可以在其中查看和修改新条目的数据,但是这个新创建的数据不需要在表格中显示。这是因为如果需要在表格中显示,我们直接使用这篇教程介绍的方法来新建数据更合理:
- SAP UI5 应用开发教程之六十五 - 基于 OData V4 的 SAP UI5 表格控件如何实现创建,编辑和保存功能
- 想创建一个条目而不在 UI 上显示它。
该方法获取要创建的实体集的路径,以及创建条目的可选初始属性; properties 参数中使用的路径和属性名称都必须存在于 OData 服务的元数据定义中。
将初始数据创建为通过模型中的 getobject 检索的现有数据对象的副本时要小心:需要从副本中删除 __Metadata 属性,因为它不能在创建请求的有效负载中发送。
此方法返回的上下文是 transient
的。 这意味着相应的实体只存在于客户端上,直到它被持久化(对于延迟批处理组,使用 submitChanges API),从而将其状态更改为持久化,或者使用 resetChanges API 将其删除。
请注意,当在 submitChanges 上发送的创建请求失败时,它会在下一次调用 submitChanges 时自动重试,然后可能会成功,例如因为添加了缺少的属性。
原文地址:https://cloud.tencent.com/developer/article/2133822
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。