記錄一次環境搭建的過程以及出現的問題和解決方法。
編譯器Visual Studio 2017Enterprise Edition
1.新建一個MVC應用程序
2.在新建的MVC程序中選擇Models ->添加->新建項
選擇數據->ADO.NET實體數據模型->來自數據庫的EF設計器->新建連接
在默認情況下,第三項“MySQL Database”是不存在的,這時候需要添加mysql與visual studio連接的驅動。
3.驅動連接方法
1> 確認ODBC驅動,在控制面板->所有控制面板項->管理工具 中查看ODBC數據源64位。
確認圖中兩驅動是否存在。假如不存在,去官方下載:https://dev.mysql.com/downloads/connector/odbc/ 安裝,完成后,重新打開 ODBC數據源,確認驅動情況,最好重啟。
2>安裝 mysql-for-visualstudio.msi
這里安裝的版本是:mysql-for-visualstudio-1.2.7.msi
3> 安裝mysql-connector-net.msi
這里安裝的版本是:mysql-connector-net-6.6.6.msi,一開始安裝的其他兩個版本6.10.5和6.9.9均無效。
所有都安裝完成后,重啟,打開Visual Studio,就可以看到MySQL Database數據源了,然后進入連接屬性(連接之前需要如果MySQL服務器沒有啟動,則需要先進入services.msc啟動MySQL服務)。
4、進入實體數據模型向導
選擇需要創建模型的數據表,直接連接的話報以上錯誤,這時的解決辦法是:
1> 運行services.msc,重啟MySQL服務。
2> 在MySQL運行一下命令: use mydbname; set global optimizer_switch='derived_merge=OFF';
3> 重新生成 .edmx
成功后即看到Models下面生成的實體數據模型
5、添加控制器
選擇Controllers->添加->控制器
選擇EF框架的控制器。
接下來如果選擇默認的數據上下文類,報如下錯誤。
解決方法是:
1>Nuget包管理器運行 Install-Package Microsoft.aspnet.Web.Optimization
2>安裝了這個:EF6 實體框架EntityFramework.SqlServerCompact,如下圖
3>重新生成解決方案,在數據上下文類中新建一個上下文類型。
添加后的文檔如下: