2016-01-06 280 views
3

我无法连接到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=&quot;data source=*****;initial catalog=****;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 

我得到这个错误:

Keyword not supported: 'metadata'

如何解决这个问题?

回答

8

该连接字符串仅受实体框架支持。 (公平地说,关键字“实体”在关键名称中!)如果要在ADO原始连接中使用连接字符串,请删除&quot;字符串部分以外的任何内容,包括&quot; s:

更改它于: <add name="Teleport_DEVEntities" connectionString="data source=*****;initial catalog=****;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.EntityClient" />

+1

错误得到解决。谢谢。 –

0

通行证只有这么多,将工作

<add name="Teleport_DEVEntities" connectionString="data source=*****;initial catalog=*****;User ID=****;password=*****;MultipleActiveResultsets=True" providerName="System.Data.EntityClient" /> 
0

看来是的connectionString类型的EntityFramework的。 可能的方法可能是跳过元数据,然后获取完整的connectionString。

The below code saved my time !!

if (connectionString.ToLower().StartsWith("metadata=")) { 
    System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder efBuilder = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder(connectionString); 
    connectionString = efBuilder.ProviderConnectionString; }