原文:VS2017 + EF + MySQL 我使用过程中遇到的坑
写在前面:
第一次使用MySQL连接VS的时候本着最新版的应该就是最好的,在MySQL官网下载了最新版的MySQL没有并且安装完成之后,使用MySQLHelper连接MySQL数据库也是正常的,也就没有太在意,在第二天在项目中搭建EF时,问题不断,花了几天时间才彻底搞定了,下面就具体说一下我遇到的一些坑。
坑1:您的项目引用了最新版实体框架,但是,找不到进行数据连接所需的与此版本兼容的实体框架数据库提供程序。
这个问题也是困扰我最久的一个问题,为此我参考了诸多资料,在参考完这篇文章的时候(在此对作者表示感谢):http://www.cnblogs.com/Imaigne/p/4153397.html,于是我就从某网站上下载了mysql-connector-net - 6.8.3.msi,确实没有再次出现以上的问题了,但一个新的问题产生了,那就是闪退问题,也就是在这点击下一步的时候会直接不明闪退,陆续更换了多个版本的mysql-connector-net还是没有解决,最后打开NuGet管理器查看MySQL.Data版本的时候发现了我所认为的问题所在。
截止至写这篇博客的时候,VS的NuGet管理中MySQL.Data版本已经更新到了8.0.12,但是MySQL.Data.Entity却还是停留在了6.10.8,且MySQL Connector/NET 8.0.12
下载页也已经更新到了8.10.12,于是就抱着死马当活马医的态度查看了历史版本,然后奇迹发生了,在历史版本中发现了6.10.8,果断下载替换原本的mysql-connector-net,且在VS中安装相同版本的MySQL.Data与MySQL.Data.Entity。贴上6.10.8的下载链接:https://dev.mysql.com/downloads/connector/net/6.10.html
于是问题解决了,我可以创建EF了,(。◕ˇ∀ˇ◕)。
第一个坑终于解决了,但是美好的时光总是短暂的,我又遇到了第二个坑;
坑2:
我发现是否选项没有和往常一样是亮着的,而是灰色的,抱着药丸的心理,为点击了下一步,果不其然,报错了,开始只是天真的以为只是老的不能用了,那我新建一个好了,有时确实可以,但大部分还是报给定关键字不在字典中的错误。
在经过一番摸索之后找到了解决方案,也是最简单粗暴的:删除服务器资源管理器中的数据连接
重新添加EF的时候就没有问题了。
我目前遇到的坑也就这些,后面如果还有其他坑的话,还是会继续更新到这的。