タイトルを説明します。中央データベースを使用するマルチユーザー環境でのEntity Frameworkのデータ更新
私はアプリケーションでEntity Framework Code Firstを使用しています(TestApp)です。 デバッグの目的で、TestAppは、SQLExpressデータベース(セントラルデータベースサーバー)に接続します。
ここでは、データベースに「製品」という表が1つあり、TestAppにはデータグリッドのデータベースからすべての「製品」が表示され、TestAppは「製品」の追加/削除やProductNameの変更ができます。
public class Product {
public int ProductId { get; set; }
public string ProductName { get; set; }
}
public DbSet<Product> Products { get; set; }
私は、たとえばTestAppがインストールされ実行されている3つのPCを持っています(私はClient_Xと呼んでいます)。 Client_1を介して新しい「製品」を追加すると、これはClient_2とClient_3のTestAppに直接表示されません。 Client_2とClient_3が新しく追加されたレコードよりもすべてのデータを再度フェッチする(手動リフレッシュ)場合のみ。
ご存知のこと: EFコードファーストでデータベースの変更を確認するにはどうすればよいですか? 新しいアイテムが追加または削除されたため、Client_2とClient_3は自動的にDataGridを更新しますか?
あまりにも多くの質問があるのかどうかは分かりませんが、これを実証するための簡単なサンプルプロジェクトや簡単なコードは役に立ちます。
FYI: 私はかなりEFコードファーストの新人です。 (私は.NET 4.0とEFコードファースト4.3.1を使用しています)
ありがとうございます。
スキーム:
Client_3<
\
\
\
\
\>
Client_1 <---> [Central Database] <----> Client_2
/編集更新:
OK、Entity Frameworkの自体が複数のクライアント間のいずれかの同期を行わないことは明らかです。
だから私は別の質問をするでしょう: 私はクライアントサーバーの道を働いてと思っています:
- データベースを作成し、最初の Entity Frameworkのコードを使用する単一サーバーアプリケーションを。
その単一のサーバーと通信する複数のクライアント アプリケーション。
クライアントが同じデータを使用し、お互いの更新/変更を確認する最良の方法は何でしょうか? (私は、コードサンプルをいただければ幸いです。)
関連する質問が見つかりました:http://stackoverflow.com/questions/4852564/entity-framework-underlying-data-in-database-change-notification – juFo
私はまったく同じことをしたいのですが、ウェブアプリケーション。私は複数のWebサーバーが同じDBに接続している - Prasad – Prasad