系统环境:windows10
开发环境:vs2017 15.9.29 mysql8.0.18.0
经过多番研究努力,终于装上可以连接成功,这里使用的是framework方式,至于net.core的方式也是如此,主要是找对原因。
第一步,安装vs2017
正常安装在自己的硬盘上,流程不多介绍
安装完后要打开vs2017的安装路径,
D:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\PrivateAssemblies
我这里安装到了d盘
第二部,安装mysql
这里也不多介绍流程,5.7也好,8.0.18也好,都行,经过研究,vs能否正确ef链接mysql,跟mysql版本没区别。
第三步,安装链接插件
目前,在vs2017中,通过nuget方式下载mysql.data和mysql.data.entity有很多版本,这两个插件的版本要相同。
先安装mysql-for-visualstudio的插件,
在网上我能找到的版本,在我安装版本尝试的结果总结,不是最高的版本就对应你的mysql和vs,而是看安装后,在你的机子中存放的是哪个版本的程序集,经过尝试1.2.8中安装的是最高的6.10.7的mysql.data,可以从vs安装路径中查看,也就是上面提到的路径
看到版本号没有,6.10.7就是你要在vs中引用mysql.data的版本,如果这个对应不上,ef肯定链接不上。
安装mysql-connector-odbc
这个就随意了,我试过5.3.14和8.0.18,都能正常ef链接,所以没有影响。
安装mysql-connector-net
这里选择与mysql.data相同版本的6.10.7
第四步,ef链接
打开vs2017,创建一个framework的类库,nuget引用mysql.data,都要是6.10.7版本,这里描述一下,为什么要选择6.10.7,因为ef引用这里,
mysql.data.entity 这个最高只有6.10.9,而mysql.data的版本已经是8.0.20以上了,但是为了版本一致,所以只能降低,又因为mysql-for-visualstudio的插件,我只能找到6.10.7的最高版本,所以版本再次被降低。
最后只能选用6.10.7版本的。
新建一个实体模型
这里的链接方式,我也不细说了,网上很多讲的,提示链接成功还不算成功,要映射出表才行。
出现这界面基本就可以了,我在研究的过程中,基本弹不出这个界面,到那个6.x模型就退出了,搞了好久总算是成功了。