Entity Framework(CF、C#)でSaveChanges
/SaveChangesAsync
を呼び出すときに、変更の競合が発生した場合(たとえば、値が最後に読み取られてから更新されている場合)、次の2つの例外のどちらかDbUpdateConcurrencyException
OR OptimisticConcurrencyException
釣れますか?
そして、それらの違いは何ですか?
DbUpdateConcurrencyException
はDbContext
によってスローされる特定の例外であるため、これはキャッチする例外です。この例外は、基になるOptimisticConcurrencyException
が原因で発生する可能性がありますが、その場合、この例外は内部例外としてラップされます。
すべての更新例外が同時実行によって引き起こされるわけではないので、DbUpdateException
afterをキャッチしてDbUpdateConcurrencyException
をキャッチする必要もあります(後者はDbUpdateException
)のサブタイプです。
OptimisticConcurrencyException
を取得します。 this をご覧ください。
今、違いに来ています。