Breeze js樱桃挑选保存问题

时间:2014-01-29 21:07:05

标签: breeze durandal-2.0

我有一个批量插入屏幕,允许用户逐行插入产品。每个产品都有自己的测量单位。

以下是我的保存更改代码:

save = function (product) {
var entitiesToSave = product.units().slice();

entitiesToSave.push(product);

var so = new breeze.SaveOptions({ allowConcurrentSaves: true })
            return manager.saveChanges([entitiesToSave],so)
                    .then(saveSucceeded)
                    .fail(saveFailed);
}

我试图保存;我收到这条消息:

'entities'参数是可选的,或者它必须是一个数组,其中每个元素必须是一个实体

将代码修改为:

save = function (product) {
var so = new breeze.SaveOptions({ allowConcurrentSaves: true })
            return manager.saveChanges([product,product.units()[0]],so)
                    .then(saveSucceeded)
                    .fail(saveFailed);
}

适用于一个产品单元。但是,我需要使用所有单位保存特定产品  一枪...... 任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

对于可能有类似问题的人;我通过将代码修改为以下内容来修复它:

save = function (product) {
var entitiesToSave = new Array(product);

product.Units().forEach(function (Unit) {
              entitiesToSave.push(Unit);
});

var so = new breeze.SaveOptions({ allowConcurrentSaves: true })
            return manager.saveChanges(entitiesToSave,so)
                    .then(saveSucceeded)
                    .fail(saveFailed);
}

关心所有人。