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(一定要重啟啊親)

問題解決。

參考:http://www.cnblogs.com/Imaigne/p/4153397.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM