MVC 3 +エンティティフレームワークの外部SQLサーバーアクセスクエリのみのフレームワーク
-
27-10-2019 - |
質問
MVC 3を使用してEF 4を使用してシステムを脱退しています。このシステムでは、外部データベースに既に存在する情報を検索する必要があります。
プロジェクトの情報を保存します 私の データベースは大丈夫です。モデルを定義し、DBContextにサーバー上のテーブルを作成させました。
問題は、外部データベースからいくつかのデータを照会しようとするときです。適切な場所に接続文字列を追加しました Web.config
:
<connectionStrings>
<add name="ExtDBConnectionString" connectionString="Data Source=path.to.server;Initial Catalog=DBName;Persist Security Info=True;User ID=user;Password=pass;Pooling=True;Min Pool Size=5;Max Pool Size=60;Connect Timeout=2;" providerName="System.Data.SqlClient" />
</connectionStrings>
この外部データベースからすべてのモデルを再現することなく、私のプロジェクトでこのサーバーにいくつかのクエリを作成することは可能ですか?コマンドを使用して、コードのこの接続文字列を回復できることを知っています System.Configuration.ConfigurationManager.ConnectionStrings["ExtDBConnectionString"].ConnectionString
, 、ただし、接続を作成してクエリをインスタンス化するにはどうすればよいですか?
前もって感謝します!
編集: @Rouenは私のATENTIONに電話しました。データベースは異なるとは明示的にしませんでした。彼らはそうします いいえ 同じスキーマを共有してください!外部データベースは、レポートの出力です。そのため、関連する行をローカルデータベースにインポートするために、プロジェクトでそれを通過する必要があります。
解決
Standard Ado.netを使用するだけです。 SQLConnectionおよびSQLCommandクラスを使用します。
msdnのado.net例:http://msdn.microsoft.com/en-us/library/dw70f090.aspx
他のヒント
リモートデータベースはローカルと概略的に同一ですか?はいの場合、ConnectionStringをObjectContext/DBContextのコンストラクターに渡すことができ、そのデータベースを使用します。
http://msdn.microsoft.com/en-us/library/gg679467%28v = vs.103%29.aspx