私は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から直接接続文字列を取得し、ファイルへのパス(動的に設定)のみを変更し、デフォルト値を使用する代わりに、この接続文字列を明示的に使用しました。このエラーの原因は何ですか?
このエラーが発生した本当の理由は、接続文字列の"
値のためです。
これらを一重引用符で置き換えると、正常に機能します。
http://blogs.msdn.com/b/rickandy/archive/2008/12/09/explicit-connection-string-for-ef.aspx
(他の人が私よりも早く修正を入手できるように投稿しました。)
Entity Frameworkを使用していても、EntityClient
をSqlClient
に戻すことでこれを修正しました。
したがって、私の完全な接続文字列の形式は次のとおりです。
<add name="DefaultConnection" connectionString="Data Source=localhost;Initial Catalog=xxx;Persist Security Info=True;User ID=xxx;Password=xxx" providerName="System.Data.SqlClient" />
これには、providerName="System.Data.EntityClient"
ビットが欠落しているようです。全部わかった?
信じられないかもしれませんが、LinqPad.exe.configの名前をLinqPad.configに変更することでこの問題は解決しました。