2014-01-29 54 views
0

我有一個批量插入屏幕,允許用戶逐行插入產品..每個產品都有它自己的測量單位。微風js櫻桃挑選保存問題

這是我保存更改代碼:

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); 
} 

有一次,我嘗試保存;我得到這個消息:

在'實體的參數是可選的,或者它必須是一個陣列,其中每個元素必須是一個實體

修改代碼:

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

工作正常的一個產品單位..但是,我需要保存一個特定的產品,它的所有單位 在一個鏡頭.. 任何幫助表示讚賞。

回答

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); 
} 

對所有問題都非常感謝。