如何解决“不支持的关键字:'元数据'”?

问题描述 投票:6回答: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" />

我收到此错误:

不支持关键字:'元数据'

我该如何解决这个错误?

sql sql-server database-connection connection-string
3个回答
9
投票

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

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


2
投票

似乎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; }

0
投票

通过这么多它会工作

<add name="Teleport_DEVEntities" connectionString="data source=*****;initial catalog=*****;User ID=****;password=*****;MultipleActiveResultsets=True" providerName="System.Data.EntityClient" />
© www.soinside.com 2019 - 2024. All rights reserved.