‘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.MySqlClient
在web.config
文件的
部分中出现两次,因此出现类型初始化错误。
删除其中一个(通过注释)解决了这个问题: