在Visual studio 2017中使用EF6连接Mysql
ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案,不仅支持SQL Server,还支持MySQL、Oracle等数据库。 在本文中使用 Entity Framework 6 框架,来映射MySQL数据实体。
一、在VS2017中,通过Nuget安装插件
1. EntityFramework 6.2.0
2. Mysql.data.entity 6.10.8, 安装它的同时,也会自动安装依赖库Mysql.data 6.10.8
二、安装Mysql 工具
1. Mysql server 5.5 数据库或更高版本
2. Mysql connector/net 6.10.8
3. Mysql for visual studio 1.2.8
三、 在Visual studio 添加 ADO.NET Entity Data model, 去连接Mysql数据库。
但是在步骤三中,出现过连接实体框架不兼容的问题, 如下图所示:
这个问题困扰了我一天的时间,后来才找到问题所在。原来我刚开始安装的Mysql.data.entity.dll 6.8.8 的版本与 Mysql connector/net 6.10.8 版本不一致所引起问题,重新安装Mysql.data.entity 6.10.8 使得它与 Connector 版本一致就行了。
可以在Nuget中,手动安装 mysql.data.entity 指定版本。方法如下:
1. 打开Nuget命令行, VS2017 ->Tools -> Nuget Package Manager -> Package Manager Console
2. 输入命令行, install-package mysql.data.entity -version 6.10.8
补充:
假如安装最新版 Mysql connector/net v8.0.16,与其对应的Mysql.data.entity 库则变为Mysql.data.Entityframework v8.0.16.