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(一定要重啟啊親)
問題解決。
參考:http://www.cnblogs.com/Imaigne/p/4153397.html
