VS2017使用MySQL和EntityFramework闪退解决方案

现象

1.VS2017新建工程使用NuGet添加最新版本的Mysql.Data和Mysql.Data.Entity引用。此处的版本分别为8.0.13和6.10.8
1.png

2.添加ADO.NET实体数据模型,设置相关数据库信息。正常情况下设置完数据库连接信息以后点击下一步会出现设置界面闪退情况。
2.png

原因

因为本机安装的mysql-connector-net的Mysql.Data.Entity的版本与项目引用的Mysql.Data.Entity版本不一致导致。必须确认两个DLL的版本号一致。

解决方案

MySQL官网下载6.10.8版本的的 mysql-connector-net。卸载原有版本,重新安装此版本即可。
另外如果在设置数据模型中无法添加MySQL连接,需要安装 MySQL for Visual Studio

已知问题

.NETFramework版本为v.4.5.2的也会出现闪退错误,建议选择v4.7.2

MySql.Data.Entity 6.10.8 与 MySql.Data 8.0.13不兼容,在调用SaveChanges方法的时候会报错 解决方案参考
stackoverflow

1.更新MySql.Data 版本

2.更新MySql.Data.Entity 版本

如果全部更新到兼容8.0 版本,那么mysql-connector-net的版本保持最新版本即可,正常引用版本如下:
3.png

发表评论

邮箱地址不会被公开。 必填项已用*标注