0

新しいアプリケーション アーキテクチャを構築しているので、アドバイスが必要です。SQL Azure としてホストされている中央の MSSQL サーバー データベースがあります。このデータベースには、さまざまなアプリケーションからアクセスする必要があります。そのほとんどは Windows azure でホストされている Web アプリケーションであり、そのうちのいくつかは winforms アプリです。

Web アプリケーションのデータベースへのアクセスは、ADO.Net を使用すると簡単です。winforms アプリケーションの場合、wcf データ サービス テクノロジは、セキュリティのためのクライアント認証サービスと共に印象的です。

この混合モードのデータベース アクセスが機能するかどうかを知る必要がありますか? 言い換えれば、ADO.Net と Entity フレームワークを組み合わせて使用​​するアプリケーションによってヒットされた場合、データベースの整合性は維持されます。

前もって感謝します。

4

2 に答える 2

1

EntityFrameworkを使用してデータベースにクエリを実行すると、SaveChanges()を呼び出すまでデータがキャッシュされます。その間にデータベースが変更された場合(たとえば、プレーンな古いADO.NETを使用した場合)、データベースのデータがEntityFrameworkを使用しているアプリケーションによって上書きされるリスクがあります。これを防ぐには、同時実行トークンを使用する必要があります。詳細については、次を参照してください。http : //social.technet.microsoft.com/wiki/contents/articles/3866.aspx 同時実行トークンの使用を開始するときは、処理する必要のある同時実行の例外の可能性に注意する必要があることに注意してください。 。このブログ投稿を見ることができますhttp://blogs.msdn.com/b/rickandy/archive/2011/02/17/handling-optimistic-concurrency-exception-with-ef-and-mvc-3.aspxいくつかのアイデアのために。WCF Data Servicesは同時実行性にETagを使用します(http://blogs.msdn.com/b/astoriateam/archive/2008/04/22/optimistic-concurrency-data-services.aspx)が、ここでは何もする必要がない場合があります。 WCFDataServicesを介して公開されるデータベースのEFモデルで同時実行性を設定します。

于 2012-04-21T19:38:56.323 に答える
1

WCFRIAサービスを使用します。これらは、すぐに使用できるデータアクセス層を提供する複数のクライアントタイプでうまく機能するようです。

于 2012-06-08T21:52:30.133 に答える