是否可以在SAP Cloud Platform中刷新/刷新特定的脱机oData实体?

时间:2019-03-01 10:19:25

标签: mobile sapui5 sap-cloud-platform

标准的刷新/刷新离线oData功能在离线商店中的所有实体上执行。

这当然对移动数据和性能有影响。

是否有一种方法只能对离线商店中的特定实体进行刷新/刷新?

3 个答案:

答案 0 :(得分:1)

您可以在方法的第三个参数中将要刷新或刷新的实体编写为字符串数组,其中每个字符串是您对defineRequests对象的每个“ entitySet”输入的名称。

想象一下,您是在创建商店时定义的:

"definingRequests" : {
    "foo" : "/fooSet",
    "bar" : "/barSet"
}

然后,如果您只想刷新foo实体,则刷新方法将如下所示:

store.refresh(refreshCallback, errorCallback, ["foo"], progressCallback);

答案 1 :(得分:0)

根据refresh method的文档:

  

刷新模型。

     

这将重新加载模型中存储的所有数据。这将检查所有   绑定更新的数据并更新控件(如果已获取数据)   改变了。

     

注意:与单个绑定刷新不同,模型刷新   忽略绑定特定的参数/查询。

如果只想获取模型中的特定条目,则应查看方法invalidateEntry

  

使模型数据中的单个条目无效

     

在模型缓存中将所选条目标记为无效。下一次   完成上下文绑定或列表绑定后,该条目将被检测为   无效,并且将从服务器刷新。

答案 2 :(得分:0)

对于使用iOS SDK的离线OData,withSubset命令有一个download参数。使用此功能,可以将过滤器添加到定义的查询中,从而仅下载特定条目。

文档: https://help.sap.com/doc/978e4f6c968c4cc5a30f9d324aa4b1d7/2.1/en-US/Documents/Frameworks/SAPOfflineOData/Extensions/DataService.html