我正在初始化实体框架对象上下文,这给了我关键字不支持错误:
metadata=res://*/MainDB.csdl|res://*/MainDB.ssdl|res://*/MainDB.msl;provider=System.Data.SqlClient;provider connection string="Data Source=.SQLEXPRESS;AttachDbFilename=D:WorkspacevsLeftouchLeftouch.WebDataLeftouch.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;App=EntityFramework"
我直接从web获取连接字符串。并且只修改了文件的路径(我动态设置的),而不是使用默认值,而是显式地使用此连接字符串。什么会导致这个错误?
你得到这个错误的真正原因是你的连接字符串中的"
值。
如果你用单引号替换它们,那么它就会正常工作。
https://learn.microsoft.com/archive/blogs/rickandy/explicit-connection-string-for-ef(张贴以便其他人可以比我更快地获得修复)
我通过将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。
确保您的连接字符串中有Data Source
而不是DataSource
。空间很重要。相信我。
只要用"代替",问题就解决了。