网上有很多类似的ef6使用mysql数据源的教程,但有很多版本没有注名,更多的由于mysql版本的更新导致按某一些教程一路走下来最后却会报错,因此自己整理了一份,方便自己以后查阅。
以下软件均会注明版本,安装过程就不发了,自己查或者默认
mysql环境安装
名称 | 版本 | 说明 |
MySQL 数据库 | 8.0.12 | 当时mysql最新版本是8.0.17应该也是可以的,不过开发环境上安装的是12就懒得改了 |
MySQL Connector/ODBC | 8.0 | |
MySQL Connector/NET | 6.10.9 | |
MySQL for Visual Studio | 1.2.8 |
注意,在安装完成mysql connector过程中若开着vs,在安装完成后记得重启
VS
名称 | 版本 | 说明 |
Visiul Studio 2019 | 16.3 | 这里有个要注意的就是vs2019安装的时候要选择.net 桌面开发,必须要安装Enetiy Fremework 6SDK才可以使用ADO.net 数据模型,参考最下方图1 |
VS NuGet程序包
名称 | 版本 | 说明 |
EntityFramework | 6.2.0 | |
Mysql.Data | 6.10.9 | |
MySql.Data.Entity | 6.10.9 | 现在有最新的程序包是MySql.Data.EntityFramework 8.0.17 但是不知道是什么原因在创建数据模型会报错,最后还是选择了旧版本的MySql.Data.Entity,在这里踩坑的同学可以留意一下 |
程序包完成后需要重新生成解决方案
设置mysql数据源
一切准备就续以后,就可以在vs设置mysql数据源了
- vs点击视图-服务器资源管理器
- 在数据连接右键-添加连接,如果以上软件版本没有错误的话,是可以在数据源看到mysql的数据源的。网上很多过时的解决只提到mysql conntent版本不对,在此个人的理解是MySQL Connector/NET的版本不能高于Mysql.Data的版本,否则可能就看不到mysql数据源。当然可能还有其他原因,比如没有重启vs或者其他,不再赘述
- 点击确定后就是填写mysql的连接信息,懂的自然都会写,不懂也没必要在这里看教程了
在接下来就可以写个控制台demo测试了
- 自备一个mysql数据库
- vs内点文件-新建-项目-选择控制台应用,记得在这个控制台内安装NuGet控制包
- 接下来右键该控制台项目-添加-新建项
- 选择ADO .NET实体数据模型
- 我选择的模式是code first,因为数据库已经有了,其他方案自行解决
- 点击下一步,在红框内选择刚添加的mysql数据源
- 以上的步骤没出错的话,就会出现以下的画面
- 到了这一步,这篇文章的目的就已经达成了,如果出现报错的话请仔细按步骤操作,所有的操作都是我一步步严谨测试的结果,每一步
- 都是血泪史
图1