微風&角& MV *如何保存小孩的財產?
獲得發票對象,並擴大它的必要特性:客戶,詳細信息等
要訪問的細節特性是容易的,invoice.detail [N] .property。並且保存對現有屬性(1 - n)的更改也很容易。在我的UI,我只是通過我的對象vm.invoice.details循環得到&顯示現有的所有細節,結合他們的輸入,編輯隨意,調用調用SaveChanges(),完成了!
(記住,在這個UI,我需要完成以下過....)
現在,我有一個新的細節,我需要插入空白輸入。
不過,我需要插入一個新的細節到的發票明細現有的陣列。
例如:發票#5具有3點的細節(細節[0],詳細[1],詳細[2])。我需要插入到這個現有的發票,細節[3],並調用saveChanges()
我試圖調用manger.createEntity('invoice'),但它抱怨FK約束。我知道你可以通過值作爲createEntity(「OBJ」,newvalues)第二個參數...但正確和唯一的方法?
看起來這應該都容易得多,但是,好,我很茫然,請幫助在那裏你可以。 TIA!
謝謝你的優秀回覆! 以下是我如何完成它: 在我的**控制器**中,我調用了一個如下所示的函數:var d = dataservice.createNewDetail(vm.invoice); d.SeqNumber =(vm.invoice.InvoiceDetails.length + 1); vm.invoice.InvoiceDetails.push(d);' 然後我的數據服務功能需要的不過是 'return manager.createEntity('InvoiceDetail')' 我最初按照你的建議接近它,看到我的OP(_I知道你可以在createEntity('obj',newvalues)中傳遞值作爲第二個參數......但這是否正確且唯一的方法?_) – SSIDEV 2015-02-23 14:59:11
我可以接受你的答案嗎?事實上,你的建議(雖然不同)會引發一個新問題:哪種方法是_correct_?我想這歸結於你MV *環境中最好的效果。如果您發現我的方法存在缺陷或危險,請進一步告知。否則,我們可以稱這個關閉。祝一切順利! – SSIDEV 2015-02-23 15:06:09
在你的情況下,有一點輕微的差異是不重要的。如果您設置了nav屬性,Breeze將確保父和子都處於相同的「EntityManager」中(如果不是,則拋出)。如果該發票存在於孩子的經理中,那麼設置FK ID不會強加該測試,並且僅將新的子孩「Detail」連接到父母「發票」。鑑於你只有一位經理,這對你來說不是問題。選擇最適合你的方法。 – Ward 2015-02-23 21:24:05