Sql 2008 R2 サーバー内に同じスキーマを持つ 2 つのデータベースがあり、その名前はDatabase1とDatabase2です。Database1に接続してクエリを実行した後、Database2に変更し て、次のコードを使用してエンティティを取得しました
this.ConnectionString = "Server=TestServer; Database=Database2;Trusted_Connection=true";
using (IDataAccessAdapter adapter = new DataAccessAdapter(this.ConnectionString))
{
var entities = new EntityCollection<T>();
adapter.FetchEntityCollection(entities, null);
return entities;
}
(接続文字列は、コードを実行する前に設定されています)。
アプリケーションをデバッグし、接続文字列の値を調べたところ、Database2 を指していました。
しかし、上記のコードを実行すると、結果はDatabase1から返されました。SQL プロファイラーを見ると、ステートメントはDatabase1に対して実行されていました。
それで、誰が何が起こっていたかを知ることができますか?Database2ではなくDatabase1に対してクエリが実行された理由。
PS: プレーンな ADO.NET で上記の接続文字列を使用すると、Database2 からデータを取得できました。
前もって感謝します。