我无法连接到SQL Server,我的项目的连接字符串是:
<add name="Teleport_DEVEntities" connectionString="metadata=res://*/Data.Model.AdvertisingModel.csdl|res://*/Data.Model.AdvertisingModel.ssdl|res://*/Data.Model.AdvertisingModel.msl;provider=System.Data.SqlClient;provider connection string="data source=*****;initial catalog=****;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
我收到此错误:
不支持关键字:&#39;元数据&#39;
如何解决此错误?
答案 0 :(得分:9)
只有Entity Framework支持该连接字符串。 (公平地说,关键字&#34; entities&#34;在键名中!)如果要在ADO原始连接中使用连接字符串,请删除"
字符串部分之外的任何内容,包括"
S:
将其更改为:
<add name="Teleport_DEVEntities" connectionString="data source=*****;initial catalog=****;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.EntityClient" />
答案 1 :(得分:2)
看来connectionString是EntityFramework Type。 可能的方法是跳过元数据,然后获取完整的connectionString。
以下代码节省了我的时间!!
if (connectionString.ToLower().StartsWith("metadata=")) {
System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder efBuilder = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder(connectionString);
connectionString = efBuilder.ProviderConnectionString; }
答案 2 :(得分:0)
通过这么多它会起作用
<add name="Teleport_DEVEntities" connectionString="data source=*****;initial catalog=*****;User ID=****;password=*****;MultipleActiveResultsets=True" providerName="System.Data.EntityClient" />