C# 使用EF6连接、操作Mysql数据库(内附操作源码分享)

时间:2024-04-04 20:09:30

由于一直使用的数据库是mysql,之前所用的orm都是轻量级的例如 dapper 这些的,然后想用ef配置一下mysql,总共时间花了差不多2天,才将坑填完,写个博客将流程记录一下 给后来者少掉点坑。

废话不多说直接开始。

一、安装数据库和连接器+系统环境配置

首先得安装Mysql数据库与两个连接器

Mysql会根据不同的系统环境安装不同版本的连接器,可以将连接器卸载后再安装适合的版本,

1.Mysql数据库推荐mysql-5.7.25-winx64.zip版本,下载链接:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

2.mysql-connector-net-6.9.12  ,注意版本号 必须与项目代码中的MySql.Data.Entity 的版本保持一致,否则在ADO.Net实体选择的时候闪退  下载链接:https://dev.mysql.com/downloads/connector/net/

注意:因Oracle官方好像取消了mysql-connector-net和mysql.data.entity的6.10.8版本,此处使用6.9.12.

3.mysql-for-visualstudio-1.2.8    vs的mysql工具  

C# 使用EF6连接、操作Mysql数据库(内附操作源码分享)

C# 使用EF6连接、操作Mysql数据库(内附操作源码分享)

二、VS通过EF6连接数据库

使用Entity Framework6 连接MySQL数据库

准备工作都就绪了,接下来我创建一个WInform项目来演示如何连接MySQL数据库。

1.测试能否正常连接

C# 使用EF6连接、操作Mysql数据库(内附操作源码分享)

选择连接到数据库

C# 使用EF6连接、操作Mysql数据库(内附操作源码分享)

出现“测试连接成功”后,点击确定按钮。

2.打开NuGet包管理工具后,点击浏览,然后搜索EntityFramework。先安装EntityFramework,再安装MySQL.Data.Entity.

C# 使用EF6连接、操作Mysql数据库(内附操作源码分享)

通过NuGet来安装EF可以帮我们省去很多麻烦的配置环节。

C# 使用EF6连接、操作Mysql数据库(内附操作源码分享)

选择EntityFramework.zh-Hans,同样也是6.0.0版本

版本选择栏选择6.0.0版本(一定要选择6.0.0版本,别问我是怎么知道的,我先去哭一会儿......)

C# 使用EF6连接、操作Mysql数据库(内附操作源码分享)

MySQL.Data.Entity的版本一定要与mysql-connector-net版本保持一致(上文提过),不然在VS通过EF6调用Mysql时会出现各种错误!

OK,都添加完毕后,会在项目引用中看到四个dll文件,表示添加成功

C# 使用EF6连接、操作Mysql数据库(内附操作源码分享)

C# 使用EF6连接、操作Mysql数据库(内附操作源码分享)

三、调用示例

按照习惯,我先在项目中建立了一个Modules文件夹,用于保存所有生成的数据模型文件。之后右击,新建项。

C# 使用EF6连接、操作Mysql数据库(内附操作源码分享)

选择ADO.Net实体数据模型,并命名为DBModel

C# 使用EF6连接、操作Mysql数据库(内附操作源码分享)

选择 来自数据库的CodeFirst ,点击下一步

C# 使用EF6连接、操作Mysql数据库(内附操作源码分享)

选择新建连接选项,选择并测试数据源

C# 使用EF6连接、操作Mysql数据库(内附操作源码分享)

选择,不然后面实际操作会比较麻烦

C# 使用EF6连接、操作Mysql数据库(内附操作源码分享)

点击完成,连接成功!!!

C# 使用EF6连接、操作Mysql数据库(内附操作源码分享)

回到解决方案资源管理器,这时我们的项目下就应当多了三个文件,一个是DBModel数据库上下文(到时都是通过它来操作数据库),另两个是class数据模型和student数据模型。(每张表都需要设置主键,不然不能生成可调用的类文件

 

四、增删改查的调用实例

在名为databasetest的数据库中创建两张表class,student。

class表中包含字段:Class_id,Class_name;其中Class_id为主键

student表中包含字段:Student_id,Class_id,Name,Age;其中Student_id为主键

菜单页

C# 使用EF6连接、操作Mysql数据库(内附操作源码分享)

添加数据页

C# 使用EF6连接、操作Mysql数据库(内附操作源码分享)

C# 使用EF6连接、操作Mysql数据库(内附操作源码分享)

查询/删除页

C# 使用EF6连接、操作Mysql数据库(内附操作源码分享)

C# 使用EF6连接、操作Mysql数据库(内附操作源码分享)

按条件查询/修改页

C# 使用EF6连接、操作Mysql数据库(内附操作源码分享)

C# 使用EF6连接、操作Mysql数据库(内附操作源码分享)

项目源码及数据库文件分享给大家,帮助大家在使用EF6的道路上少走弯路!

链接:https://download.csdn.net/download/weixin_39525333/11125162