我在考慮以下情況:在客戶端更新兩個實體,並提交帶有json包的POST。在服務器端,您可以進行攔截並應用一些業務邏輯。其中一個實體的保存工作正常,但另一個實體失敗。在你看來,什麼是正確的解決方案,以及爲什麼:1.我應該做回滾並在客戶端返回一個異常,或者2.提交第一個實體的更新並返回一條消息,表明保存僅適用於其中一個實體?我知道IdeaBlade的人認爲saveChanges是一個單獨的事務(因此所有的CRUD功能都在一個POST中),所以我認爲1.應該是正確的方法。不過,我欣賞所有合理的意見。謝謝!Breeze SaveChanges部分失敗
0
A
回答
1
那它取決於你在做什麼。我敢打賭,如果你只是回滾,你會節省很多時間。如果您真的想要,您可以返回保存失敗和成功實體的列表。然後用戶(假設錯誤是用戶錯誤)可以對錯誤的實體進行更改並僅提交它們。這可能會變得困難。微風重視a state to each entity,你現在需要管理。因此,在響應中,您需要確定哪些實體失敗以及哪些實體成功了,然後更新其在客戶端上的狀態,否則您將重新提交您不需要的提交。我認爲把這個業務邏輯放在客戶端上,然後在服務器上回滾(記錄事件,以便修復它),這將是一個更好的投資。這有幫助嗎?
+0
你的回答很好,但我希望在我接受其中一個之前看到更多答案:) – 2013-05-13 06:27:18
+0
我聽到你的男人,祝你好運,並希望你的應用程序出現良好 – mtleising 2013-05-13 22:41:27
相關問題
- 1. Breeze SaveChanges
- 2. 的SaveChanges失敗
- 3. breeze js apostraphe導致查詢失敗
- 4. 元數據查詢失敗:Breeze JS
- 5. 複製一部分失敗
- 6. 部署在JBoss上,Intellij部分失敗
- 7. 春3.1部分 - NetBeans - 部署失敗
- 8. 部署失敗
- 9. 部署失敗
- 10. 驗證企業bean失敗[部分:16.2]
- 11. fttw3創建2D計劃部分失敗
- 12. Restkit Post總是進入失敗部分
- 13. Python XML XPath部分失敗消息
- 14. 重複部分在刪除時失敗
- 15. CREATE TABLE部分失敗,PHP + PDO for Sqlite
- 16. 的rpmbuild失敗安裝部分
- 17. jQuery原型的繼承部分失敗
- 18. JBoss 5上的分解部署失敗
- 19. Linux上的SSL_CTX_use_PrivateKey_file失敗(第2部分)
- 20. Breeze SaveChanges在刪除實體時總是拋出DbUpdateConcurrencyException
- 21. 僅向Breeze的SaveChanges()方法發送已更改的屬性
- 22. Breeze EntityManager不會在saveChanges調用後更改實體狀態
- 23. 如何使用Breeze js和Nancy實現SaveChanges
- 24. 使用WebAPI和Breeze的新項目失敗
- 25. breeze mongo manager.saveChanges()error
- 26. 實體框架6.1 - SaveChanges失敗,帶有可選主體關係
- 27. 微風JS調用查詢的SaveChanges之前導致失敗
- 28. 驗證失敗的一個或多個實體 - SaveChanges EF4
- 29. 實體框架SaveChanges失敗增量標識列
- 30. 實體框架 - 如何處理批量SaveChanges失敗
看起來這兩個實體可以/應該獨立保存。如果這是您的業務邏輯,那麼爲什麼不提交兩個SaveChanges()? – pawel 2013-05-10 06:53:04
因爲我需要批量保存。 – 2013-05-10 13:17:08