VS2015 + EF6连接MYSQL

ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案,不仅支持SQL Server,还支持MySQL、Oracle等数据库。

接下来给大家讲解EF6+MYSQL具体的配置流程,以及配置过程中一些常见错误的解决方法。

开发环境:Win10 + VS2015
数据库:MySQL 5.7.11


一、下载并安装插件

  • MySQL-Connector-net-6.9.9 下载
  • MySQL for Visual Studio 下载

注意:安装MySQL for Visual Studio需下载MySQL Installer,然后在安装过程中选择MySQL for Visual Studio。


二、创建新的ASP.NET MVC空白项目

1.创建项目

VS2015 + EF6连接MYSQL_第1张图片

2.采用Nuget方式安装MySql.Data.Entity

VS2015 + EF6连接MYSQL_第2张图片
VS2015 + EF6连接MYSQL_第3张图片

安装完成后会多出4项引用

VS2015 + EF6连接MYSQL_第4张图片

3.添加 ADO.NET 实体数据模型

VS2015 + EF6连接MYSQL_第5张图片

4.选择“来自数据库的 EF 设计器”,我这里已建好数据库,所以选择了DBFirst模式

VS2015 + EF6连接MYSQL_第6张图片

5.新建连接,选择“更改(C)...”

VS2015 + EF6连接MYSQL_第7张图片

6.选择“MySQL DataBase”,填写连接信息

VS2015 + EF6连接MYSQL_第8张图片
VS2015 + EF6连接MYSQL_第9张图片
VS2015 + EF6连接MYSQL_第10张图片

7.选择需要的表,点击“完成”,然后就大功告成了!

VS2015 + EF6连接MYSQL_第11张图片
VS2015 + EF6连接MYSQL_第12张图片

三、使用空EF设计器生成数据库

1.步骤与上面类似,这里选择“空EF设计器模型”

VS2015 + EF6连接MYSQL_第13张图片

2.添加实体

VS2015 + EF6连接MYSQL_第14张图片
VS2015 + EF6连接MYSQL_第15张图片

3.创建一个新MySQL的数据库

VS2015 + EF6连接MYSQL_第16张图片

4.更改模型属性,选择“SSDLTomYsql.tt(VS)”DDL生成模板(这一步很重要,否则后面会出错)

VS2015 + EF6连接MYSQL_第17张图片

5.右击模型设计器,选择“根据模型生成数据库(G)...”

VS2015 + EF6连接MYSQL_第18张图片

6.填写数据库连接信息,这里选择刚刚创建的“test2”数据库

VS2015 + EF6连接MYSQL_第19张图片

7.生成数据库脚本

VS2015 + EF6连接MYSQL_第20张图片

8.将脚本全部复制到数据库中执行

VS2015 + EF6连接MYSQL_第21张图片

9.大功告成,数据库成功创建!

VS2015 + EF6连接MYSQL_第22张图片

四、配置过程中常见错误及解决方案

1.无法使用实体框架

VS2015 + EF6连接MYSQL_第23张图片

解决方案:采用NuGet方式安装MySql.Data.Entity,参见第二节第4步

2.未修改DDL生成模板

VS2015 + EF6连接MYSQL_第24张图片

解决方案:修改DDL生成模板,参见第三节第4步

3.生成模型时错误

解决方案:在数据库中执行以下命令:

use <<数据库名称>>;
set global optimizer_switch='derived_merge=OFF';

五、完成

现在你就可以跟使用SQL Server一样使用MySQL了,虽然过程有点复杂,但还是很值得的。

以上内容是本人结合一些网上教程和自己的配置经验,总结出来的成果,亲测可用。许多人被EF6+MySQL的配置折腾了很久,希望这篇文章可以给各位提供一点帮助,有不足之处欢迎留言!

本文为作者kMacro原创,转载请注明来源:http://www.jianshu.com/p/910a4175bf7b。

你可能感兴趣的:(VS2015 + EF6连接MYSQL)