vs2015 ef连接mysql_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.创建项目

cb43f336b41fba6f89c2952aee33b305.png

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

a1fa73740a65f0151043661893898c71.png

e3db80a17d606548a9c24c49b166c101.png

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

a57d507b776ff6ea0ff204f9003a8cbb.png

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

4d86e0ca4138c993f95ea469b2ccd3b7.png

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

cdda06241450bca2e7465c8168484e44.png

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

b2e82ec55c575f1e07c5b521ba838a9d.png

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

64c3b02717fdaa26712d9ef1177d21b4.png

d25b1aee1b942d5d58096c9dbb65237c.png

5cf91add9d38f218b68209d5ada7505b.png

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

aa5821f6b5fa560ddbd68dfc024657df.png

842aa165c2b08d0032fe726a2669caf9.png

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

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

28f6ddc66a300d78c5059cff104a4f8d.png

2.添加实体

4c5ec988437f2c912f83d3848d8c1c9e.png

4653f7ef8521eb2e902162cb8948c356.png

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

e141c3562ff291e83e66c5aa0fb883ff.png

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

a61d3c9ccb36baaadaba1ab7cf2da079.png

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

1e024f29ee948616e5ae64107ea0ae36.png

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

9379dbb488eea85312a4893b81340599.png

7.生成数据库脚本

a6ad442feb3489df2797cc9f7bbfd279.png

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

600768dad7537ad15ac0179408a0b9e6.png

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

8e42343f85495cdc90072287a40a1974.png

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

1.无法使用实体框架

f2a65b417eea947bc6d530e071d4791e.png

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

2.未修改DDL生成模板

abb3034a046696d694cc62caa08c7e9f.png

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

3.生成模型时错误

46d20a14262252470bdd4ab19bdccbf8.png

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

use <>;

set global optimizer_switch='derived_merge=OFF';

五、完成

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值