7

クエリをテストするためのテストプロジェクトを作成します。Entity Connectionを使用するメソッドをテストしようとしたときを除いて、すべてのことがうまく行きます。CodeFirst:指定された名前付き接続がコンフィグレーション内に見つかりません

The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid. 

enter image description here


TestQuery Projecでapp.configで私の接続文字列

<connectionStrings> 
    <add name="DataLayer.Context" connectionString="Data Source=.;Initial Catalog=TestQ;Integrated Security=True" providerName="System.Data.SqlClient"/> 
</connectionStrings> 

エンティティにLINQを使用するすべてのメソッドはうまく動作し、これ以外のデータを提供します:私のスタートアッププロジェクトがあるトン?

+2

'.'は'データソース 'の有効な値ではありませんか? – masa

+0

@masa:これは私のローカルデータベースです! –

+0

イメージの代わりにコピー&ペーストしてください。 –

答えて

5

これは、Entity SQLコマンドを実行する方法ではありません。あなたは代わりにこれを行う必要があります。

// If you have a DbContext instance: 
var objectContext = ((IObjectContextAdapter)dbContext).ObjectContext; 
var query = objectContext.CreateQuery<Crop>(eSQL); 
var result = query.ToList(); 
+0

ありがとう、接続の初期化の例外ではなく、自分自身のクエリではありません。あなたは接続文字列を見てみることができますか? –

+0

私は確信していません。私のコードを試しましたか? –

+0

これは私のために働いていますが、私が質問していたことはありません。私は 'ADO.net'のような' entity framework'を使ってnative SQLを実行することを尋ねます。この場合はSQLクライアントと直接話したいです。私はこの方法を見つけるが、私は上記の例外を得る –

0

はこれにインスタンスでは、あなたの接続名を変更してください:「TestConn」

using(var con = new EntityConnection("name=TestConn")) 

をしようとするもう一つは、app.configをからあなたの接続文字列を取得することであり、それをEntityConnectionのコンストラクタに渡します。

string cs = ConfigurationManager.ConnectionStrings["TestConn"].ConnectionString 
var eConnection = new EntityConnection(cs); 
関連する問題