保存后获取实体更改

时间:2014-02-19 19:22:17

标签: javascript breeze

我有以下模块(下面的伪代码),它使用Breeze将数据保存回服务器。

datacontext{
    ...
    function saveChanges() {
        if (manager.hasChanges()) {
            return manager.saveChanges()
                   .then(saveSucceeded)
                   .fail(saveFailed);
        }
        return Q.resolve();

        function saveSucceeded(data) {
        }
        function saveFailed(data) {
        }
    }
    ...
}

我正在捕捉为了进一步处理而保存的更改:

datacontext.saveChanges().then(processChanges)

保存后是否可以获取给定实体的哪些属性?

1 个答案:

答案 0 :(得分:1)

在调用保存之前,客户端上的更改已经更改; save只是将这些更改提交给服务器。

但是,您可以在调用save之前捕获每个实体的已更改属性列表(及其原始值),如果保存成功完成,则使用此列表。请查看本页的“originalValues”部分

http://www.breezejs.com/documentation/inside-entity

function getOriginalValuesPropertyNames(entity) {
    var names = [];
    for (var name in entity.entityAspect.originalValues) { names.push(name); }
    return names;
}