本人在Visual Studio 2017中创建MySQL的实体模型发生闪退,查起原因是MySQL Connector/NET与MySQL.Data版本不匹配造成的。根据官网信息获得解决,具体如下。
1. 组件安装
MySQL官网的文章标明了.NET和.NET Core开发环境下安装MySQL Connector 的环境需求,具体URL为:https://dev.mysql.com/doc/connector-net/en/connector-net-entityframework60.html
上文给出了各框架兼容性匹配要求。本人是基于.NET Framework开发应用,故需要基于Minium Requirements for EF6 on Windows Only来执行。执行过程如下:
1)在程序包管理器控制台输入如下命令,安装EntityFramework 6.0:
Install-Package EntityFramework -Version 6.0.0
执行完命令后,会在项目的 packages 目录里多出 EntityFramework.6.0.0 目录
2)在MySQL官网下载并安装Connector/NET 8.0.11安装包mysql-connector-net-8.0.11.msi,下载路径如下:
https://downloads.mysql.com/archives/c-net/
2. 组件引用
1)引用->程序集->扩展 中可以引用如下组件
MySQL.Data
MySQL.Data.EntityFramework for EF6
2)引用->浏览 中找到 packages\EntityFramework.6.0.0\lib\net45 目录下的 EntityFramework.dll
3)项目的属性中,将目标框架设定为 .NET Framework 4.5.1