2

人々がコーディングした例を見ると、多くの人が SaveChanges を使用し、SaveChangesWithRetries を使用していないことがわかります。SaveChangesWithRetries が最善の方法だと思いますが、SaveChanges を使用するだけで何か利点はありますか? また、SaveChangesWithRetries を実行する場合、他に構成する必要があるものはありますか、それともデフォルトのままにする必要がありますか?

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

ありがとう、

麻理子

4

1 に答える 1

4

通常、私は常に SaveChangesWithRetries を使用しますが、独自のエラー処理を追加する必要もあります。

どちらを選択しても、どちらの方法でも非常にまれな問題を処理する必要があります。

  • 複数の変更を保存する場合は、半分の変更が失敗したときの戦略を練る必要があります
  • まれに、接続/可用性の問題が原因で保存が失敗することがあります
  • まれに、接続の問題が原因で保存が失敗したように見えても、実際には成功している場合があります。この場合、再試行が失敗したように見えます。

幸いなことに、(私の経験では) 失敗はめったにありません。ただし、これは「トランザクション クリティカル」タイプのデータには朗報ではありません。

于 2011-03-19T12:13:30.683 に答える