2017-02-05 5 views
-1

私はエンティティフレームワークを使用してマルチユーザアプリケーションを開発したいと思います。しかし、EFが同時にさまざまなユーザーからの複数のリクエストを正確に処理する方法についてはわかりません。Entity Frameworkマルチユーザアプリケーション

たとえば、user1はレコードをいくつかのテーブルに挿入しています。 user2が同時にそのテーブルにレコードを挿入するとどうなりますか?

+0

2人で同時にレコードを挿入すると、2つのレコードが挿入されます。 2人が同じレコードを更新すると、最後の人は最初のものを上書きします。何も地球が壊れていない。あなたがユニークなキーを持っているかのようなものをしたい場合にのみ問題があります。あなたがどのデータベースを教えて、あなたが本当に心配していることがあれば、私たちを助けることができるかもしれません。 –

+0

これらのシナリオを処理するには、基盤となるデータベースシステム**の仕事が必要です。** - EFはこれにはあまり関与していません。データベースサーバーと通信し、報告されたエラーを処理します。これはまっすぐなSQLクエリで "生のADO.NET"を使用している場合とまったく同じです - 違いはありません –

答えて

2

これは複数のユーザーとはまったく関係がありません。同じユーザーが複数のコマンドを同時に発行する可能性があるため、同時実行に関する質問です。

データベースサーバー(SQL Serverなど)have a variety of ways to deal with concurrency(テーブルロックとローロック、トランザクションロックなど)、Entity Framework adds its own concurrency features(オプティミスティックとペシミスティック並行性など)

これらのトピックを自分で調べる必要があります。並行処理の仕組みについて説明します。