vs2012新建实体数据模型(EF)时无Mysql数据源,JoeyChou

vs2012新建实体数据模型(EF)时无Mysql数据源


sql转mysql数据库,用到EF,遇到vs2012新建实体数据模型时无Mysql数据源的问题。

问题截图如下:

解决方法1:(简单的的解决方法,有可能解决问题,如不能解决问题,请看解决方法2):

(1)没有安装mysql-for-visualstudio-1.2.6.msi的需要安装一下。

(2)安装过的需要重新修复下mysql-for-visualstudio-1.2.6.msi。

解决方法2:(在解决方法1不起作用的情况下,尝试本方法):

(1)安装以下四只:

 

如已经安装了以上四只,还是无法读取到mysql数据库,那么需要卸载MySQL Connector Net 6.9.9,重新安装一下,就可以连接上mysql数据库了。

(2)安装后重新启动vs2012。

注:这个步骤很重要,否则在新建项时找不到ADO.Net实体数据库模型。

(3)新建ADO.Net实体数据库模型时,有MySql数据源如下图:

2016年12月10日补充遇到的问题:

在上一步完成后,不弹出数据库表结构的选择框,也就是无法选择表放入模型中。如下图:

就是不出现这个界面啊,急死个人呢。

 解决方法:卸载MySQL Connector Net 6.9.9,重新安装一下。修复不好使,必须重新安装。鬼知道因为什么。

但是在继续操作时会出现以下错误提示1:

针对错误提示1的解决方法:

首先工具->库程序安装包->程序包管理器控制台,在PM>后输入

1 Install-Package EntityFramework -Version 6.0.0然后Enter,提示成功
2 Install-Package EntityFramework.zh-Hans -Version 6.0.0然后Enter,提示成功
3 Install-Package MySql.Data.Entity.EF6,Enter,我使用这种方法没有成功,出现了如下问题:

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 6.8.3\Assemblies\v4.5下的所有dll文件引用进来,

4 在web.config里面添加provider节点即可:

<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6"></provider>

 

问题又来了,弹出如下告警框:

解决方法:

(1)在mysql中运行如下语句:

use TableName;
set global optimizer_switch='derived_merge=OFF';

(2)重新启动VS2012(一定要重启啊亲)

问题解决。