Azure SaveChanges 与 SaveChangesWithRetries

发布于 2024-10-23 15:54:46 字数 516 浏览 8 评论 0原文

查看人们编写的示例,我发现很多人使用 SaveChanges 而不是使用 SaveChangesWithRetries。我认为 SaveChangesWithRetries 是最好的选择,那么仅使用 SaveChanges 有什么优势吗?另外,如果我执行 SaveChangesWithRetries,是否还需要配置其他任何内容,或者我应该使用默认值?

_LogEntryServiceContext.MergeOption = MergeOption.PreserveChanges; _LogEntryServiceContext.AttachTo("LogEntry", 要删除的项目,“*”); _LogEntryServiceContext.DeleteObject(itemToDelete); _LogEntryServiceContext.SaveChanges(); _LogEntryServiceContext.Detach(itemToDelete);

谢谢,

真理子

Looking at examples that people have coded I see a lot of people using SaveChanges and not using SaveChangesWithRetries. I assume SaveChangesWithRetries is the best thing to do so is there any advantage in just using SaveChanges? Also if I do SaveChangesWithRetries is there anything else that I need to configure or should I just go with defaults?

_LogEntryServiceContext.MergeOption = MergeOption.PreserveChanges;
_LogEntryServiceContext.AttachTo("LogEntry",
itemToDelete, "*");
_LogEntryServiceContext.DeleteObject(itemToDelete);
_LogEntryServiceContext.SaveChanges();
_LogEntryServiceContext.Detach(itemToDelete);

Thanks,

Mariko

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

ゞ记忆︶ㄣ 2024-10-30 15:54:46

一般来说,我总是使用 SaveChangesWithRetries - 但我仍然需要添加自己的错误处理。

无论您选择哪种方法,这两种方法都要求您处理非常罕见的问题:

  • 如果您要保存多个更改,那么您需要制定一种策略,以便
  • 在某些罕见情况下一半更改失败时,保存可能会因以下原因而失败连接/可用性问题
  • 在极少数情况下,保存可能会因连接问题而失败,但实际上可能已成功 - 在这种情况下,重试似乎会失败。

好消息是(根据我的经验)失败很少见。然而,这对于“事务关键”类型的数据来说可不是什么好消息!

In general I always use SaveChangesWithRetries - but I do also still have to add my own error handling.

Regardless of which you choose, both methods require you to handle very rare issues/problems:

  • in the case you are saving multiple changes then you need to work out a strategy for when half the changes fail
  • in some rare cases, saves can fail due to connectivity/availability issues
  • in some rare cases, saves can appear to fail due to connectivity issues, but may actually have succeeded - and in this case then retries appear to fail.

The good news is that failures are (in my experience) rare. This isn't good news for "transaction critical" type data, however!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文