2016-01-06 57 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; }