VS 2017 + EF6 + MySQL5.7 建立實體模型閃退問題


前記

最近有用到 MySQL 的空間數據這一塊。

對於這一塊的數據類型,在 .NET 里怎么用不是很清楚。

於是想到看看 EF 里面是怎么用的。結果新建項目,建立實體模型,總是不成功。

最后經過多次嘗試、查閱得以解決。

下面就是具體經過。 

失敗的經歷

具體環境是:VS2017 、.NET Framework 4.6 、MySql.Data.Entity 6.9.12

在這個環境下總是不成功,具體是在這一步閃退,也不報錯:

在點擊“下一步”后,沒有進入到下一步,窗口直接關掉。

考慮有可能是 .NET Framework 問題,更換了其他版本不行;

考慮有可能是 MySql.Data.Entity 問題,更換了幾個版本測試也還是不行;

查閱有說是,mysql-connector-net 版本問題,我看了下,自己安裝的是:mysql-connector-net-6.9.9,對應的把 MySql.Data.Entity 也換為 6.9.9,同樣還是報錯。

那這是什么問題?

那是 mysql-connector-net 版本 太低了?有推薦是換成 6.9.10,下載發現官網上面不提供這個版本,其他地方可以下載。

在這里發現一個問題:官網能下載的 mysql-connector-net 版本號和 NuGet 上面的  MySql.Data.Entity  版本號是一一對應的(雖然 NuGet 可以用控制台安裝任意版本)

基於這個,開始了下面的實驗。

成功一試

上面說到的問題,看了官網 mysql-connector-net 有 6.9.12/6.10.7 可下載,一般最新的不一定好用,那就下載 6.9.12,卸載原先的 6.9.9,安裝新的 6.9.12.

這次環境:VS2017 、.NET Framework 4.6 、MySql.Data.Entity 6.9.12(有沒有發現和上面一樣?)

在這里,建模成功!成功來的這里:

到此,實驗完成,也成功了。

個人認為:如果遇到 EF + MySQL建模問題,把 mysql-connector-net 版本和 MySql.Data.Entity 版本一致(其中mysql-connector-net 是官網可以下載的),基本可以解決問題

最后,就是最開始,想看 EF 中對空間數據格式是怎么處理的,結果都好了,卻發現 EF 沒有映射空間數據(/(ㄒoㄒ)/~~)。

好吧,也是個坑,填了也好


免責聲明!

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



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