EF连接mysql

EF连接mysql

最近有个小项目数据库使用的是mysql,框架搭建时打算依然使用EF,踩了许多坑,在本文做个总结备忘。

一、开发环境

VS2013

mysql 5.7.21

二、准备工作

下载并安装mysql-for-visualstudio-1.2.5和mysql-connector-net-6.9.8

注意:这两个工具有版本要求,并不是版本越新越好,工具-mysql-EF三者有版本对应关系,比较mysql不是微软旗下的,坑比较多。本文给出的是一个可行的安装使用方案,如果你用的是较新版本的mysql也可以下载较新版本的mysql-for-visualstudio和mysql-connector-net进行尝试。

三、项目搭建

新建一个空解决方案“Test.MyProject”,在解决方案里添加一个Web项目(MVC)、一个类库项目


在“解决方案资源管理器”中右键“Test.Web”项目,选择“管理Nuget程序包”即可看到默认的MVC项目模版已经自动给我们添加了EF6.0.0的引用。


所以我们在“Test.DB”项目中也需要添加EF6.0.0的包。

使用菜单中的“工具”→“Nuget包管理器”→“程序包管理控制台(O)”来打开Nuget包管理控制台,选择Test.DB项目

安装EF6.0.0安装:

Install-Package EntityFramework -Version 6.0.0

然后安装MySql.Data 6.9.8以及MySql.Data.Entity 6.9.8

Install-Package MySql.Data -Version 6.9.8
Install-Package MySql.Data.Entity -Version 6.9.8

安装完以后可以看到Test.DB项目下已经自动添加了对mysql的引用(如果没有,右键引用→添加引用→在引用管理器中程序集-扩展目录下找到这两个手动添加引用即可,注意选择项目对应的.net framework版本)


四、添加ADO.net实体数据模型

在Test.DB项目中添加ADO.net实体数据模型






在这里输入mysql数据库的服务器IP、用户名、密码,然后选择数据库,并确定。


值的一提的是,如果上一部选择了保存密码,向导里这一步会保存下来,笔者碰到过一种很奇葩的情况,就是这个向导闪退的情况,然后删除了项目下的obj文件夹就清除了这个历史记录。

继续下一步,如果看不到下边选择表和视图的情况,可以生成一下项目,然后重试。





接下来我们就可以在web项目中使用了


猜你喜欢

转载自blog.csdn.net/shujudeliu/article/details/80846894