2011-06-22 7 views
1

環境:
ASP.Net 4.0
MVC 4
SQL Server 2005の
のVisual Studio 2010
ミラーリングされたデータベースでEntity Frameworkのを使用して、最小限の作業の重複

問題:
多数の大規模なビジネスクエリがデータに対して実行され、システムの速度が遅くなるため、別のサーバーにトランザクションにレプリケートされるSQL 2005データベースがあります。セカンダリサーバーはすべてのレポート(読み取り専用)で使用され、プライマリサーバーは日常業務に使用されます。従来のコードではストアドプロシージャを使用してデータベースにアクセスし、異なる接続文字列を維持し、すべてのレポートにレポートサーバー接続文字列を使用させるのは比較的簡単でした。私たちは最近、データアクセスのためにEntity Frameworkを使用して新しいコードをすべて書き始めましたが、私は2つの異なるサーバーを扱う方法を失っています。

簡単な解決策は、2つの.edmxをそのまま維持し、すべてのレポートを2番目の.edmxにポイントすることです。しかし、私は開発者が2つの異なるファイルを管理する必要があるので、この方法を強く嫌う。

誰もこのシナリオに遭遇し、より適切な解決法を考案しましたか?両方のサーバーに同じ.edmxを使用する方法はありますか(同じであるため)が、コントローラまたはアクションレベルで何らかの接続文字列を使用するよう指定していますか?

理想的には、手動SSDL書き込みを必要としないソリューションを探しています。私はデザイナーと "データベースからモデルを更新"機能を引き続き使用したいと思います。

は、エンティティ・コンテキストオブジェクトを作成するときに、コンストラクタで接続文字列を指定することができ、お時間 Mirzero

答えて

2

、ありがとうございました。したがって、必要な文字列をEntityContextインスタンスを作成するメソッドに渡すだけで済みます。

+0

ああ!私は単純な解決策が必要だと思っていましたが、私はそれを見つけることができませんでした。どうもありがとう! – Mir

関連する問題