1. 程式人生 > >VS2017MVC+EF+MySQL環境搭建

VS2017MVC+EF+MySQL環境搭建

原文: VS2017MVC+EF+MySQL環境搭建

記錄一次環境搭建的過程以及出現的問題和解決方法。

編譯器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>重新生成解決方案,在資料上下文類中新建一個上下文型別。

新增後的文件如下: