could not load an entity mysql_EF6使用Mysql,踏过的那些坑

4904d5b708899e2eecc607b6d84591eb.png

在vs2013中使用mysql连接entityFramework经常会遇到这个问题:您的项目引用了最新实体框架;但是,找不到数据连接所需的与版本兼容的实体框架数据提供程序。请退出此向导,安装兼容提供程序,重新生成您的项目,然后再执行操作。

在vs中 使用mysql的问题多的会让人蛋疼。在这里给个妥妥的一条龙解说哈。

在创建实体模型的时候  数据源选项很可能没有MySql database,这问题很容易解决,只需要安装 mysql-for-visualstudio 即可解决,这里推荐版本是 mysql-for-visualstudio-1.2.3 。 还需要安装一个 MySQL Connector/Net , 我们来看一看来自官网的介绍:MySQL 官方的 .NET 驱动程序,MySQL 官方的 .NET 客户端开发包。mysql 数据库最新版dotnet数据库连接驱动。 所以 显而易见,这个程序必须装上,这里推荐版本是 mysql-connector-net-6.8.3 。 PS: 这里提醒下,这个版本不是越高的越合适,得配合你Mysql.data 的版本,目前大部分是使用mysql.data version 6.8.3 这版本。 如果安装高于 mysql-connector-net - 6.8.3 版本 , 安装后会修改VS下的machine.config :

以上代码未找到具体位置,此处略过

这里是安装6.8.3 版本后 修改的machine.config

安装6.9.4版本,会时 newversion = "6.9.4"  会导致很多后期问题:例如 引用问题 : could not load file or assembly 'Mysql.Data, Versio=6.8.3'   错误号 : 0x80131040 这样的程序集不匹配问题,在很多论坛上都看到过这个问题,造成的办法也大多是因为machine.config 被修改,强制指向高版本,导致的程序集不匹配。

当然这里如果通过手动修改machine.config 解决这个问题,可以一时解决,但是会引起后期很多不必要的问题, 所以建议直接安装 mysql-connector-net - 6.8.3

这个坑未碰到

以上这两个安装完之后,恭喜你, 进入下一个错误, vs里 就会提示上述图片的错误。

这个错误的解决方案 网上的答案可以说是 众多纷纭 奇葩朵朵开啊。 其实解决方案很简单,人家都说了,找不到数据连接所需的与版本兼容的实体框架数据提供程序。

这里需要先安装nuget 管理器

在 - 工具 - 库程序包管理器 - 程序包管理器控制台 这里 默认项目, 在PM>后 输入

Install-Package EntityFramework -Version 6.0.0

Install-Package EntityFramework.zh-Hans -Version 6.0.0

Install-Package MySql.Data.Entity.EF6

每一句输完 回车执行

ac234667c49cf491c68e264342dc20da.png

允许重新加载config.

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

效果如下

(这个地方按道理引用后会自动加上的,如果没有手动加一下吧)

到了这一步 ,重新生成一下方案  妥了!

215a29806a776621b6cb9fceee59eac8.png

哈哈 不是微软的亲儿子就是事多!

这里是个小总结。给急性子的朋友看:

需安装:

mysql-for-visualstudio-1.2.3

mysql-connector-net - 6.8.3

nuget 包管理器

nuget 控制台输入

Install-Package EntityFramework -Version 6.0.0

Install-Package EntityFramework.zh-Hans -Version 6.0.0

Install-Package MySql.Data.Entity.EF6(这一步一直提示安装不成功,最后直接引用了mysql-connector-net - 6.8.3 安装目录下的,如下图)必须要重视的是,版本很重要,版本很重要,版本很重要,版本很重要,一定不能高

7e51c2e085307d2bc157a57ae39fec5f.png

在.config 的providers 加一个节点

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值