web-dev-qa-db-ja.com

サポートされないキーワード:Entity Framework Contextを初期化する「データソース」

私はEntity Framework Objectコンテキストを初期化していますが、これによりキーワードがサポートされていないというエラーが表示されます:

metadata=res://*/MainDB.csdl|res://*/MainDB.ssdl|res://*/MainDB.msl;provider=System.Data.SqlClient;provider connection string="Data Source=.\SQLEXPRESS;AttachDbFilename=D:\Workspace\vs\Leftouch\Leftouch.Web\Data\Leftouch.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;App=EntityFramework"

動作していたweb.configから直接接続文字列を取得し、ファイルへのパス(動的に設定)のみを変更し、デフォルト値を使用する代わりに、この接続文字列を明示的に使用しました。このエラーの原因は何ですか?

152
Can Poyrazoğlu

このエラーが発生した本当の理由は、接続文字列の"値のためです。

これらを一重引用符で置き換えると、正常に機能します。

http://blogs.msdn.com/b/rickandy/archive/2008/12/09/explicit-connection-string-for-ef.aspx

(他の人が私よりも早く修正を入手できるように投稿しました。)

301
Vaccano

Entity Frameworkを使用していても、EntityClientSqlClientに戻すことでこれを修正しました。

したがって、私の完全な接続文字列の形式は次のとおりです。

<add name="DefaultConnection" connectionString="Data Source=localhost;Initial Catalog=xxx;Persist Security Info=True;User ID=xxx;Password=xxx" providerName="System.Data.SqlClient" />
32
Savage

これには、providerName="System.Data.EntityClient"ビットが欠落しているようです。全部わかった?

13
Craig Stuntz

信じられないかもしれませんが、LinqPad.exe.configの名前をLinqPad.configに変更することでこの問題は解決しました。

2
Sameer