我无法连接到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" />
我收到此错误:
不支持关键字:'元数据'
我该如何解决这个错误?
该连接字符串仅由Entity Framework支持。 (公平地说,关键字“entities”在键名中!)如果要在ADO原始连接中使用连接字符串,请删除"
字符串部分之外的任何内容,包括"
s:
将其更改为:<add name="Teleport_DEVEntities" connectionString="data source=*****;initial catalog=****;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.EntityClient" />
似乎connectionString是EntityFramework Type。可能的方法是跳过metaData然后获取完整的connectionString。
以下代码节省了我的时间!!
if (connectionString.ToLower().StartsWith("metadata=")) {
System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder efBuilder = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder(connectionString);
connectionString = efBuilder.ProviderConnectionString; }
通过这么多它会工作
<add name="Teleport_DEVEntities" connectionString="data source=*****;initial catalog=*****;User ID=****;password=*****;MultipleActiveResultsets=True" providerName="System.Data.EntityClient" />