不支持的关键字:“数据源”初始化entity framework上下文

我正在初始化entity framework对象上下文,这给了我关键字不支持错误:

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中获取连接string,并且只修改了文件的path(我dynamic地设置了该文件),而不是使用默认值,显式使用了这个连接string。 什么可能导致这个错误?

你得到这个错误的真正原因是因为" 连接string中的值。

如果你用单引号replace,那么它会正常工作。

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

(发布可以让别人比我更快地获得修复)

我通过将EntityClient更改回SqlClient来解决此问题,即使我正在使用entity framework。

所以我完整的连接string的格式是:

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

这似乎是缺lessproviderName="System.Data.EntityClient"位。 当然,你知道了吗?

信不信由你,将LinqPad.exe.config重命名为LinqPad.config解决了这个问题。