86

我用Entity Framework Code First

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

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

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

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

我错过了什么?

4

4 回答 4

188

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

providerName="System.Data.SqlClient"

于 2013-02-25T14:54:55.607 回答
16

在未来的某个时候。完整的代码

<add name="YouContext" connectionString="Integrated Security=True;Persist Security Info=False;Initial Catalog=YourDatabaseName;Data Source=YourPCName;" providerName="System.Data.SqlClient"/>
于 2017-03-05T02:28:33.327 回答
1

进入你的 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>

于 2019-06-24T09:23:24.617 回答
0

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

我有一个多项目解决方案,目标是一些网络服务项目。

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

于 2019-11-26T08:25:28.453 回答