我有一个批量插入屏幕,允许用户逐行插入产品。每个产品都有自己的测量单位。
以下是我的保存更改代码:
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);
}
适用于一个产品单元。但是,我需要使用所有单位保存特定产品 一枪...... 任何帮助表示赞赏。
答案 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);
}
关心所有人。