Javascript OData V2机型上Kapsel离线应用程序的SAPUI5深度插入
问题: 如何在OData V2模型上从SAPUI5客户端应用程序执行“深度插入” 情况: 我想在SAPUI5客户端应用程序的ODataV2模型中深入插入一个“操作”和一些“组件”Javascript OData V2机型上Kapsel离线应用程序的SAPUI5深度插入,javascript,odata,sapui5,Javascript,Odata,Sapui5,问题: 如何在OData V2模型上从SAPUI5客户端应用程序执行“深度插入” 情况: 我想在SAPUI5客户端应用程序的ODataV2模型中深入插入一个“操作”和一些“组件” // the request data "OperationSet" : { "Orderid" : "13700090", "OperationComponentSet" : [ {
// the request data
"OperationSet" : {
"Orderid" : "13700090",
"OperationComponentSet" : [
{
"Orderid" : "13700090",
"Activity" : "0010",
"SubActivity" : "",
"ComponentItem" : "000010"
}
]
}
this.getView().getModel().create("/OperationSet", requestData);
我无法在oData V2模型上使用函数create(sPath、oData、mParameters?)。文档中说:“请注意,深度创建不受支持,可能无法工作。”请参阅
在OData V2机型上执行深度插入还有其他可能性吗
链接:
- 用于深度插入的导航属性最多只能引用一个实体。必须使用 其ToRole引用与end的关联的导航属性 基数0..1或1。无法使用导航添加它们 属性,其ToRole引用以基数*结尾的关联。 不能使用引用一组实体的导航属性 用于深插入
- 答案是,“深度插入”目前不支持与离线Kapsel插件的0..n关联
看
深度插入的限制深度插入是OData POST请求
创建一个实体,该实体还包含相关文件的内联定义
实体
处理深度插入时,顶级实体及其所有
相关实体作为单个实体创建并链接在一起
活动在SDK SP07中,离线存储支持深度插入
通过Android、iOS和WinPhone 8平台上的OData API
一个重要的限制:
因此,“深度插入”将只在此时针对网关在线执行请求的情况下起作用。您可以在ODataModel上找到相同的注释,但我能够进行深度插入,因为后端服务支持它。因此,如果您的后端支持它,它应该可以工作。它不工作。只调用create\u entity方法,而不调用create\u deep\u entity。请在调用create的地方张贴行。我假设“不受支持”并不意味着不能手动将实体发送到后端服务。@matbtt:“手动”是什么意思?这是官方/标准的方式吗?如果请求是直接通过网关在线完成的,那么它与create()方法一起工作。请求数据结构(标题数据中带有导航属性名称的数组)指示是调用CREATE_ENTITY还是CREATE_DEEP_ENTITY。对我来说,它在脱机应用程序中不起作用。另一种解决方案可以是“内容ID引用”,请参阅