1

C# プロジェクトで EF を使用しています。他の接続文字列を持つ他のデータベースを持つクライアントを追加しようとしています。
DB 間で同期する必要はありません。
次のc'torを使用してみました(提供された3つのうち2番目):

 public AppEntities(string connectionString)

次のエラーが表示されます:「キーワードはサポートされていません:「データ ソース」。接続文字列は次のとおりです。

metadata=res://EntityFramework/App.csdl|res://EntityFramework/App.ssdl|res://EntityFramework/App.msl;provider=System.Data.SqlClient;provider connection string="Data Source=dbname\dbname;Initial Catalog=App;Persist Security Info=True;User ID=User;Password=password;MultipleActiveResultSets=True"

これは、App.Config から取得したときに使用される接続文字列と同じです。そこから取得したくはありませんが、自分で作成します(したがって、ユーザー名とパスワードはフリーテキストではなく、アプリのコードにハードコーディングされたままになります。
何か考えはありますか?

ありがとう。

4

1 に答える 1

3

connectionstringパラメーターは(.configファイルのように) Entity Framework接続文字列ではありませんが、「通常の」.net接続文字列である必要があります。

リンクの例は、ef接続文字列を通常の接続文字列に「変換」する方法を示しています(EntityConnectionStringBuilder.ToString()メソッドを使用)。app.configの準備されていない文字列を渡すと、前述のエラーが発生します。

EntityConnectionStringBuilderを使用して、app.config値を解析し、変換することができます。

お役に立てば幸いです。

于 2012-07-15T09:52:52.247 に答える