ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案,不只支持SQL Server,还支持MySQL、Oracle等数据库。mysql
接下来给你们讲解EF6+MYSQL具体的配置流程,以及配置过程当中一些常见错误的解决方法。sql
开发环境:Win10 + VS2015
数据库:MySQL 5.7.11数据库
MySQL for Visual Studio 下载mvc
注意:安装MySQL for Visual Studio需下载MySQL Installer,而后在安装过程当中选择MySQL for Visual Studio。app
1.建立项目框架
2.采用Nuget方式安装MySql.Data.Entityasp.net
安装完成后会多出4项引用.net
3.添加 ADO.NET 实体数据模型插件
4.选择“来自数据库的 EF 设计器”,我这里已建好数据库,因此选择了DBFirst模式设计
5.新建链接,选择“更改(C)...”
6.选择“MySQL DataBase”,填写链接信息
7.选择须要的表,点击“完成”,而后就大功告成了!
1.步骤与上面相似,这里选择“空EF设计器模型”
2.添加实体
3.建立一个新MySQL的数据库
4.更改模型属性,选择“SSDLTomYsql.tt(VS)”DDL生成模板(这一步很重要,不然后面会出错)
5.右击模型设计器,选择“根据模型生成数据库(G)...”
6.填写数据库链接信息,这里选择刚刚建立的“test2”数据库
7.生成数据库脚本
8.将脚本所有复制到数据库中执行
9.大功告成,数据库成功建立!
1.没法使用实体框架
解决方案:采用NuGet方式安装MySql.Data.Entity,参见第二节第4步
2.未修改DDL生成模板
解决方案:修改DDL生成模板,参见第三节第4步
3.生成模型时错误
解决方案:在数据库中执行如下命令:
use <<数据库名称>>; set global optimizer_switch='derived_merge=OFF';
如今你就能够跟使用SQL Server同样使用MySQL了,虽然过程有点复杂,但仍是很值得的。
以上内容是本人结合一些网上教程和本身的配置经验,总结出来的成果,亲测可用。许多人被EF6+MySQL的配置折腾了好久,但愿这篇文章能够给各位提供一点帮助,有不足之处欢迎留言!
本文为做者kMacro原创,转载请注明来源:http://www.jianshu.com/p/910a4175bf7b。