我在考慮以下情況:在客戶端更新兩個實體,並提交帶有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. 春3.1部分 - NetBeans - 部署失敗
- 2. 部署在JBoss上,Intellij部分失敗
- 3. 如何使用Breeze js和Nancy實現SaveChanges
- 4. breeze mongo manager.saveChanges()error
- 5. 部署失敗
- 6. 的rpmbuild失敗安裝部分
- 7. JBoss 5上的分解部署失敗
- 8. fttw3創建2D計劃部分失敗
- 9. 驗證企業bean失敗[部分:16.2]
- 10. Linux上的SSL_CTX_use_PrivateKey_file失敗(第2部分)
- 11. Python XML XPath部分失敗消息
- 12. jQuery原型的繼承部分失敗
- 13. 驗證失敗的一個或多個實體 - SaveChanges EF4
- 14. 如何確定哪個實體在SaveChanges上失敗
- 15. 實體框架SaveChanges失敗增量標識列
- 16. 實體框架 - 如何處理批量SaveChanges失敗
- 17. Maven部署失敗?
- 18. WebLogic部署失敗
- 19. Heroku部署失敗
- 20. Capistrano部署失敗
- 21. 得分submittion失敗
- 22. 分配值失敗
- 23. SonarQube分析失敗
- 24. Python分區失敗?
- 25. 動態分配jQuery按鈕部分失敗
- 26. capistrano開發部署失敗
- 27. Octopus Deploy.ps1 DACPAC部署失敗
- 28. 新用戶部署失敗
- 29. ARM模板部署失敗
- 30. Tomcat熱部署失敗
看起來這兩個實體可以/應該獨立保存。如果這是您的業務邏輯,那麼爲什麼不提交兩個SaveChanges()? – pawel 2013-05-10 06:53:04
因爲我需要批量保存。 – 2013-05-10 13:17:08