PendingChanges仅适用于特定OData实体

PendingChanges仅适用于特定OData实体,odata,sapui5,savechanges,Odata,Sapui5,Savechanges,有没有办法只检查OData模型的特定实体是否有挂起的更改? 挂起的更改没有任何输入参数,我也不确定DeferredGroups是否适用于此 我唯一的想法是使用ODataModel.getPendingChanges()并对结果进行字符串比较。但也许还有一个更优雅的选择。最后我找到了一种使用自定义pendingChanges方法来实现这一点的方法 _hasPendingChanges: function() { var oPendingChanges = this._oODataModel

有没有办法只检查OData模型的特定实体是否有挂起的更改? 挂起的更改没有任何输入参数,我也不确定DeferredGroups是否适用于此


我唯一的想法是使用
ODataModel.getPendingChanges()
并对结果进行字符串比较。但也许还有一个更优雅的选择。

最后我找到了一种使用自定义pendingChanges方法来实现这一点的方法

_hasPendingChanges: function() {
    var oPendingChanges = this._oODataModel.getPendingChanges(),
        sValue = "MyEntitySetToIgnore",
        bReturn;

        var aPendingChanges = $.map(oPendingChanges, function(value, index) {
            return [index];
        });


        for (var i = 0; i < aPendingChanges.length; i++) {
            if (aPendingChanges.toString().startsWith(sValue)) {
                bReturn = this.DoSomeSpecialThingsHere();
            } else {
                return true;
            }

            if (bReturn) {
                return true;
            }
        }

        return false;
    },
\u hasPendingChanges:function(){
var oPendingChanges=this.\u oODataModel.getPendingChanges(),
sValue=“MyEntitySetToIgnore”,
布雷图恩;
var aPendingChanges=$.map(oPendingChanges,函数(值,索引){
返回[索引];
});
对于(变量i=0;i
您还可以调整$.map函数,通过返回值而不是索引来返回特定entityset的挂起更改。因此,您可以扩展此函数,并使用此函数检查特定实体集的特定属性