EF+MySQL Code First模式下使用
前言:
以前我们使用的都是sql server 而且SQL server 是微软的亲儿子所以 用EF连接sql server的时候很少有坑让我们,然而mysql不是微软的亲儿子,所以 我们在使用的过程中呢 多多少少 都会去被迫踩坑。
言归正传,我们来讲一下EF+Mysql的使用,这里呢 我们使用的方式是Code First建模方式。
我们呢先建一个项目:控制台,winfrom,.net mvc 都可以使用你习惯的方式建一个项目就行了。
1、环境配置
我所用的环境是:vs2015 .net framework 4.7.2
建好项目之后我们要做一些基础的设置:
引入一下我们所需的DLL,用来连接mysql分别是:Mysql.Data.SqlCllent.dll,Mysql.Data.这两者属于依赖关系你在nugi中将MySql.Data.SqlClient下载安装到项目中Mysql.Data也会连带安装上去。
这是安装好之后的样子。
项目中的所需我们已经准备好了现在我们来配置一下外部所需要的设置。
是要安装两个软件:mysql-connector-net-8.0.20.msi ,Mysql for visual Studio 1.2.9
这是我用的两个版本号mysql-connector-net-8.0.20.msi可以去mysql 官网下载Mysql for visual Studio 1.2.9这网上也有下载地址如果小伙伴们找不到的话可以私信我。
重点说明一下因为我用的MySql.Data.SqlClient是版本是8.0.20的所以对应使用的mysql-connector-net-8.0.20.msi版本夜市8.0.20
版本号一定要保持一直不然就会很难受。
2、使用EF连接MySql连接数据库并创建数据库
首先呢我们需要创建一个上下文,上下文的名字可以随意取也可以根据你的项目性质来命名但是一定要在名字后面加上Context否者不会被识别的。
上下文创建好了你咋里面可以写一些设置,这里我就不多讲了。跟sql server的设置一样。
然后我们创建一个实体类:
实体类创建完之后我们来到之前创建好的上下文里注册一下
细心的小伙伴已经发现了我现在的上下文中多了两行代码:
[DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))]
这句话实在生成数据库必要的字段,这里指定生成的数据库类型,但是在执行ENABLE-MIGATIONS也就是启动迁移时这句要事先屏蔽掉,迁移成功后在释放出来。
enable-migrations 检擦上下文目标是否为现有数据库 add-migration 'createBlog' 创建数据库 update-database 更新数据库
在执行上面三个命令的时候现在配置文件里写好数据库的连接字符串:
这三个命令依次在
执行执行完之后没有错误你就成功了,只要之前的步骤没错 版本号不冲突,都会成功的
欢迎小伙伴们私信或评论讨论。有小伙伴想转发的请备注转发网址。谢谢配合