私は EF 4.4 を使用しており、多くのエンティティを更新したいと考えていますが、最初のユーザーが変更したエンティティの多くを他のユーザーが変更できます。したがって、同時実行例外が発生します。他のケースでは、最初のユーザーが多くの新しいレジスターを追加しようとし、その間に他のユーザーがそれらのいくつかを追加しようとしました。そのため、一部のレジスタに存在する例外があります (一意の制約)。
最初のユーザーが操作を終了して、まだ存在しないレジスタのみを追加するようにしたいと思います (2 番目のユーザーによって追加されたエンティティを除くすべてのエンティティを追加します)。
そのためには、dbContext 内のエンティティを更新する必要があるため、少なくとも 2 つのオプションがあることがわかります。
まず、更新例外をキャプチャするときのキャッチで、次のことができます。
ex.Entries.Single().Reload();
2 番目のオプションは次のとおりです。
myContext.Entry<MyTable>(instance).Reload();
2 番目のオプションは、パラメーターとして使用するエンティティのみを更新すると思いますが、問題が多くのエンティティを更新する必要がある場合、どうすればそれを行うことができますか?
最初のオプションは実際には何をしますSingle().Reload
か?