天天看点

EF6使用Mysql数据源

网上有很多类似的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或者其他,不再赘述
    EF6使用Mysql数据源
  • 点击确定后就是填写mysql的连接信息,懂的自然都会写,不懂也没必要在这里看教程了

EF6使用Mysql数据源

在接下来就可以写个控制台demo测试了

  • 自备一个mysql数据库
  • vs内点文件-新建-项目-选择控制台应用,记得在这个控制台内安装NuGet控制包
  • 接下来右键该控制台项目-添加-新建项
    EF6使用Mysql数据源
  • 选择ADO .NET实体数据模型
    EF6使用Mysql数据源
  • 我选择的模式是code first,因为数据库已经有了,其他方案自行解决
  • EF6使用Mysql数据源
  • 点击下一步,在红框内选择刚添加的mysql数据源
    EF6使用Mysql数据源
  • 以上的步骤没出错的话,就会出现以下的画面
    EF6使用Mysql数据源
  • 到了这一步,这篇文章的目的就已经达成了,如果出现报错的话请仔细按步骤操作,所有的操作都是我一步步严谨测试的结果,每一步都是血泪史
    EF6使用Mysql数据源

图1

EF6使用Mysql数据源

继续阅读