2

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

4

1 回答 1

4

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

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

  • 如果您要保存多个更改,那么您需要制定一个策略来解决一半更改失败的情况
  • 在极少数情况下,由于连接/可用性问题,保存可能会失败
  • 在极少数情况下,由于连接问题,保存可能会失败,但实际上可能已经成功 - 在这种情况下,重试似乎失败。

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

于 2011-03-19T12:13:30.683 回答