ASP.NET Web API で OData を使用するための公式ガイダンスでは、データベースを変更するすべてのサンプルに競合状態が含まれているようです。たとえば、サンプルUpdateEntity
メソッド呼び出しの後に が_context.Products.Any
続き_context.SaveChanges
ますが、呼び出し間でデータベースが変更されている可能性があります。
これは、Entity Framework コントローラーを使用して新しい Web API 用に Visual Studio によって生成されたボイラープレート コードとは異なりますDbUpdateConcurrencyException
。OData 更新メソッドのベスト プラクティスである同様のパターンはありますか?
さらに、呼び出しAny
後に続く呼び出しにSaveChanges
は、2 つのデータベース ラウンド トリップが含まれます。1つだけにするベストプラクティスはありますか?