Breeze 保存更改部分失败

Breeze 保存更改部分失败,breeze,Breeze,我在考虑以下场景:在客户端,您更新两个实体,然后使用json包提交帖子。在服务器端执行拦截并应用一些业务逻辑。保存对其中一个实体有效,但对另一个实体无效。您认为什么是正确的解决方案以及原因:1。我应该在客户端执行回滚并返回异常,还是2。提交第一个实体的更新,并返回一条消息,说明保存仅适用于其中一个实体?我知道来自IDEBARADE的人把Savechange看作是一个事务(所以所有CRUD功能都在一个帖子里),所以根据这一点我认为1。应该是正确的做法。不过,我很欣赏所有合理的意见。谢谢 这取决于你

我在考虑以下场景:在客户端,您更新两个实体,然后使用json包提交帖子。在服务器端执行拦截并应用一些业务逻辑。保存对其中一个实体有效,但对另一个实体无效。您认为什么是正确的解决方案以及原因:1。我应该在客户端执行回滚并返回异常,还是2。提交第一个实体的更新,并返回一条消息,说明保存仅适用于其中一个实体?我知道来自IDEBARADE的人把Savechange看作是一个事务(所以所有CRUD功能都在一个帖子里),所以根据这一点我认为1。应该是正确的做法。不过,我很欣赏所有合理的意见。谢谢

这取决于你在做什么。我敢打赌,如果您只是回滚,您将节省大量的开发时间。但是,如果您确实希望,可以返回保存的失败和成功实体的列表。然后用户(假设错误是用户错误)可以对出错的实体进行更改,并再次提交。但这可能会变得困难。微风连接,您现在需要管理它。因此,在响应中,您需要找出哪些实体失败了,哪些成功了,然后在客户端上更新它们的状态,否则您将重新提交不需要提交的提交。我认为将此业务逻辑放在客户机上,然后在服务器上回滚(并记录事件以便您可以修复它)是一种更好的时间投资,因为很少出现错误。这有帮助吗?

看起来这两个实体可以/应该单独保存。如果这是您的业务逻辑,那么为什么不提交两个SaveChanges()?因为我需要批量保存。您的答案很好,但我希望在接受其中一个答案之前看到更多答案:)