mysql ef6 事务_Mysql结合EF6创建实体遇到的问题及解决办法

以前我自己的项目一直用的是SQL+EF实体,很顺利没有出现什么的问题,最近接手的一个项目是Mysql的数据库,而且已经建好了,也懒得把数据库再导到SQL Server中去了,想尝试一下Mysql+EF,也许有人会说EF这么底的效率,怎们就不明白会有那么的人去用它,EF是存在不灵活等等的缺点,但是他也有优点那,省的写那么多sql语句,对于有技术洁癖的我来说,反正我就是不想看到那么多sql语句,另外还有一点最重要,让别人看不懂啊,好装B嘛。废话少说,进入正题:

环境:

系统:win10 64位

vs版本:2013

Mysql版本:5.7

问题1:

01bd93ab687cf8c6558d8b181dd5e1b3.png

没有“Mysqldatabase”选型

我就不再介绍了,不过我建议你看完后在去测试。

问题2:

ed429a3ea2b770eef02db2c3d4096098.png

一点击“下一步”就会闪退

起初我也是按上面的步骤实施,仍然是不行,慢慢的我发现了问题,那就是版本是否对应,因为我现在再Mysql官网上看到Connector/Net的最新版本是6.10.6,没想就下载安装了,然后通过Nuget管理安装Mysql.Data.Entity和Mysql.Data,还有EntityFramework 6.2.0 (不要忘了这个),这个得提一下,如果你使用的是VS2013请更新到最新版本,要不再Nuget中搜索没有反应.全部安装完后,就会出现闪退现象,恭喜你跟我一样,请继续看下去:

第一步:

你通过路径C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies里面查看Mysql.data.dll,MySql.Data.Entity.EF6.dll和MySql.Web.dll 的版本,别告诉我你不会产看,如果你的Mysql版本号跟Mysql官网的mysql-connector-net的版本号一致的话,你直接从官网下载,如果不一致官网又不提供的话,你要通过网络下载,我的就不一致,所以我从网站上下载mysql-connector-net-6.9.8.msi,并安装。当然我也试过将高版本的Mysql.Data.dll 文件将c盘里面的替换掉,但是出现的闪退跟突然了,无奈重新该回去。

VS2013 内部集成的Mysql版本:

Mysql.data.dll -Version 6.9.8.0

MySql.Data.Entity.EF6.dll -Version 6.9.8.0

MySql.Web.dll -Version 6.9.8.0

VS2015 内部集成的Mysql版本可能比这个高,具体我也不知道,需要自己查看。

第二步:

通过在vs中”程序包管理器控制台“的输入命令来实现下载和安装所需版本的Mysql.data和Mysql.Data.Entity.EF6,命令如下:

Install-Package EntityFramework -Version 6.0.0

Install-Package EntityFramework.zh-Hans -Version 6.0.0

Install-Package MySql.Data.Entity.EF6

每一句要回车一下,等待安装完成,但在安装Install-Package MySql.Data.Entity.EF6是会出现问题,这时你需要将Mysql.data.dll和Mysql.Data.Entity.EF6.dll引用到项目中,引用可以浏览到路径C:\Program Files (x86)\MySQL\MySQL Connector Net 6.9.8\Assemblies\v4.5中添加,也可以在程序中搜索程序集引用,版本必须和Vs文件下的一致。

第三步:

这时候在providers 里 添加一个mysql.data.MysqlClint节点, 这个步骤很重要。

效果如下

问题3:

aaaacb553ed2b699b0cb22ed02a622e4.png

出现这个问题,是因为EntityFramwork安装的版本太高,需要降级版本,在VS中的”程序包管理器控制台“的输入命令:

Install-Package EntityFramework -Version 6.0.0

Install-Package EntityFramework.zh-Hans -Version 6.0.0

就可以实现了,后面的版本根据需要改动,我当时下载的最新版6.2.0,结果就出现错误,改成6.0.0就可以了。

至此基本解决了问题,但是又出现了问题,那就是导入的实体不全,哎接着倒腾把!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值