应用程序的配置文件中的连接字符串'MyConnection'不包含必需的providerName属性。”


85

我用Entity Framework Code First

我的连接字符串在配置文件中:

<connectionStrings>
    <clear/>
    <add name="ApplicationServices" connectionString="Data Source=PC-X;Initial Catalog=MYdb;Integrated Security=True"/>
  </connectionStrings>

当我尝试访问数据(应该创建数据库的东西)时,出现以下错误:

应用程序的配置文件中的连接字符串'ApplicationServices'不包含必需的providerName属性。”

我想念什么?

Answers:


182

您在connectionString属性之后缺少以下代码(假设您正在使用SQL):

providerName="System.Data.SqlClient"


18
如果使用实体框架:providerName="System.Data.EntityClient"
Dr1Ku 2013年

3
我试图将其添加到连接字符串。而是它是<add />元素的新属性。connectionString属性的同级属性。
肖恩B

@ IronMan84使用SqlClient和EntityClient后,我遇到了类型转换错误
Zia Ul Rehman Mughal

15

将来的某个时候。完整的代码

<add name="YouContext" connectionString="Integrated Security=True;Persist Security Info=False;Initial Catalog=YourDatabaseName;Data Source=YourPCName;" providerName="System.Data.SqlClient"/>

0

进入web.config,直到到达providers标签。例如,这是我的提供商声明:

<providers><provider invariantName="System.Data.SqlClient" ... /></providers>

您应该System.Data.SqlClient在连接字符串中将其添加为提供程序名称,这样您的连接字符串应如下所示:

  <connectionStrings>
 <add name="ApplicationServices" providerName="System.Data.SqlClient" connectionString="Data Source=PC-X;Initial Catalog=MYdb;Integrated Security=True"/>
  </connectionStrings>


0

就我而言,问题在于启动项目目标不正确。在PM控制台中,目标迁移程序集项目正确。

我有一个多项目解决方案,目标是某个Web服务项目。

因此,我将StartUp更改为主要的WebSite项目,并且迁移顺利完成,没有错误。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.