在 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 时主动重试,而后可能会胜利,例如因为增加了短少的属性。