網上有很多類似的ef6使用mysql資料源的教程,但有很多版本沒有注名,更多的由于mysql版本的更新導緻按某一些教程一路走下來最後卻會報錯,是以自己整理了一份,友善自己以後查閱。
以下軟體均會注明版本,安裝過程就不發了,自己查或者預設
mysql環境安裝
名稱 | 版本 | 說明 |
---|---|---|
MySQL 資料庫 | 8.0.12 | 當時mysql最新版本是8.0.17應該也是可以的,不過開發環境上安裝的是12就懶得改了 |
MySQL Connector/ODBC | 8.0 | |
MySQL Connector/NET | 6.10.9 | |
MySQL for Visual Studio | 1.2.8 |
注意,在安裝完成mysql connector過程中若開着vs,在安裝完成後記得重新開機
VS
名稱 | 版本 | 說明 |
---|---|---|
Visiul Studio 2019 | 16.3 | 這裡有個要注意的就是vs2019安裝的時候要選擇.net 桌面開發,必須要安裝Enetiy Fremework 6SDK才可以使用ADO.net 資料模型,參考最下方圖1 |
VS NuGet程式包
名稱 | 版本 | 說明 |
---|---|---|
EntityFramework | 6.2.0 | |
Mysql.Data | 6.10.9 | |
MySql.Data.Entity | 6.10.9 | 現在有最新的程式包是MySql.Data.EntityFramework 8.0.17 但是不知道是什麼原因在建立資料模型會報錯,最後還是選擇了舊版本的MySql.Data.Entity,在這裡踩坑的同學可以留意一下 |
程式包完成後需要重新生成解決方案
設定mysql資料源
一切準備就續以後,就可以在vs設定mysql資料源了
- vs點選視圖-伺服器資料總管
- 在資料連接配接右鍵-添加連接配接,如果以上軟體版本沒有錯誤的話,是可以在資料源看到mysql的資料源的。網上很多過時的解決隻提到mysql conntent版本不對,在此個人的了解是MySQL Connector/NET的版本不能高于Mysql.Data的版本,否則可能就看不到mysql資料源。當然可能還有其他原因,比如沒有重新開機vs或者其他,不再贅述
- 點選确定後就是填寫mysql的連接配接資訊,懂的自然都會寫,不懂也沒必要在這裡看教程了
在接下來就可以寫個控制台demo測試了
- 自備一個mysql資料庫
- vs内點檔案-建立-項目-選擇控制台應用,記得在這個控制台内安裝NuGet控制包
- 接下來右鍵該控制台項目-添加-建立項
- 選擇ADO .NET實體資料模型
- 我選擇的模式是code first,因為資料庫已經有了,其他方案自行解決
- 點選下一步,在紅框内選擇剛添加的mysql資料源
- 以上的步驟沒出錯的話,就會出現以下的畫面
- 到了這一步,這篇文章的目的就已經達成了,如果出現報錯的話請仔細按步驟操作,所有的操作都是我一步步嚴謹測試的結果,每一步都是血淚史
圖1