‘System.Data.Entity.Migrations.DbMigrationsConfiguration`1’的类型初始值设定项引发exception

我有ASP.Net MVC网站。

技术堆栈

  • ASP.Net 4.6
  • C#.NET
  • EF 6
  • MySQL -Database

我正在尝试使用Nuget命令生成数据库: –

 Enable-Migrations -force 

我得到以下例外

‘System.Data.Entity.Migrations.DbMigrationsConfiguration`1’的类型初始值设定项引发了exception。

以下事项已经我的交叉检查和尝试 : –

  • ‘System.Data.Entity.Internal.AppConfig’的类型初始值设定项在子网站上引发了一个例外

  • ‘System.Data.Entity.Internal.AppConfig’的类型初始值设定项引发了exception

  • Code First无法启用迁移

我的App.Config: –

          

这个配置对我有用:

    

由于在我的开发机器中安装了错误的MySql连接器客户端,我收到了与您类似的错误。 我在Visual Studio中安装了MySql连接器Nuget包,但这还不够。 我还需要安装从MySql网站下载的MySql客户端。 之后, Type错误消失了。

这些是我的Nuget包: 在此处输入图像描述

这是我手动下载和安装的MySql连接器的下载页面 。

注意:如果明确指定提供程序的类型,则永远不会使用defaultConnectionFactory值。 在这种情况下,在此设置中配置文件中的值与您无关。 请参阅MySql网站中此参考文档页面中的第 3点。

我建议您使用MySql命令行客户端控制台检查您的机器中是否正确安装了MySql。 尝试使用连接字符串值从Visual Studio外部连接到服务器。

当我遇到这个问题时,我意识到entity framework没有在配置文件中声明。

所以我补充道

 

连接字符串上方

由于invariantName=MySql.Data.MySqlClientweb.config文件的部分中出现两次,因此出现类型初始化错误。

删除其中一个(通过注释)解决了这个问题: