vs2017连接mysql数据库操作步骤

        没有连接过mysql数据库的vs,在创建实体模型的时候,数据源选项没有MySql database ,这是因为没有安装vs使用的MySQL驱动,需要在MySQL官网下载相关驱动,需要下载的文件总共有三个,(这三个是我亲测可用的,没有可以找我)
【mysql-for-visualstudio-1.2.7.msi】,vs驱动
【mysql-connector-net-6.9.9.msi】,连接文件
【mysql-connector-odbc-5.3.9-winx64.msi】 数据驱动
三个文件的安装顺序:
img1
 

一,如果安装过mysql-connector-net、mysql-for-visualstudio-1.2.7、mysql-installer-community、mysql-installer-web-community等为了实现连接的应用或者驱动,卸载你所安装过的mysql-connector-net、mysql-for-visualstudio-1.2.7、mysql-installer-community、mysql-installer-web-community等为了实现连接的应用或者驱动,在控制面板,卸载程序里搜,搜到这个右键卸载。清理,重启,关掉VS。

二,安装【mysql-connector-odbc-5.3.9-winx64.msi】 程序,如果有可以跳过,(在控制面板\所有控制面板项\管理工具中查看ODBC数据源64位。)
 
三、安装【mysql-for-visualstudio-1.2.7.msi】。

四、安装【mysql-connector-net-6.9.9.msi】,安装成功后,最好重启,然后打开VS,就可以看到效果。

 
搞定了吧,搞定之后选择继续,然后你会发现第二个坑:
您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库
 img3
这是因为找不到数据连接所需的与版本兼容的实体框架数据提供程序。
这里提供两种解决办法:
1. 在 - 工具 - 库程序包管理器 - 程序包管理器控制台 这里 实体项目, 在PM>后 输入 
Install-Package EntityFramework -Version 6.0.0
Install-Package EntityFramework.zh-Hans -Version 6.0.0

Install-Package MySql.Data.Entity.EF6

(【这段是我抄的。。。】

 

1和2只要网络是正常的,基本都会成功,但是第三个在执行的时候,通常会报错,如下:

Install-Package : 无法找到程序包“MySql.Data.Entity.EF6”。
所在位置 行:1 字符: 16
+ Install-Package <<<< MySql.Data.Entity.EF6
+ CategoryInfo : NotSpecified: (:) [Install-Package], InvalidOperationException
+ FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand

解决办法:

通过右键项目->添加引用->浏览,把MySQL Connector Net x.x.x\Assemblies\v4.5(这个是你项目中安装好的mysql文件下的)下的dll文件引用进来,

)每一句输完 回车执行
 img4
执行完成之后再APP.config的providers 里 添加一个mysql.data.MysqlClint节点, 这个步骤很重要。
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6"></provider>
效果如下
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6"></provider>
</providers>
到了这一步 ,重新生成一下方案  妥了!
 img5
然而:
你出来的不一定是上面的效果,而是闪退,好吧。。。。
让我们再回来看下这个问题的原因:找不到数据连接所需的与版本兼容的实体框架数据提供程序。
那我找见不就行了,保持mysql的驱动版本和.NET引用的mysql.Data和mysql.Data.EF的版本号一致。
,所以在安装完的MySQL Connector Net 找到路径下Assemblies找到MySql.Data.Entity.EF6,MySql.Data ,然后引用到项目中,这个才是终极解决办法。看图:
 img6
直接引用进来。
 img7
这样就可以了。

 img8

资源链接: https://download.csdn.net/download/u012658972/10723982

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页