ADO.NET Entity Framework 是微軟以 ADO.NET 為基礎所發展出來的對象關係對應 (O/R Mapping) 解決方案,不僅支持SQL Server,還支持MySQL、Oracle等資料庫。接下來給大家講解EF6+MYSQL具體的配置流程,以及配置過程中一些常見錯誤的解決方... ...
ADO.NET Entity Framework 是微軟以 ADO.NET 為基礎所發展出來的對象關係對應 (O/R Mapping) 解決方案,不僅支持SQL Server,還支持MySQL、Oracle等資料庫。
接下來給大家講解EF6+MYSQL具體的配置流程,以及配置過程中一些常見錯誤的解決方法。
開發環境:Win10 + VS2015
資料庫:MySQL 5.7.11
一、下載並安裝插件
- MySQL-Connector-net-6.9.9 下載
MySQL for Visual Studio 下載
註意:安裝MySQL for Visual Studio需下載MySQL Installer,然後在安裝過程中選擇MySQL for Visual Studio。
二、創建新的ASP.NET MVC空白項目
1.創建項目
2.採用Nuget方式安裝MySql.Data.Entity
安裝完成後會多出4項引用
3.添加 ADO.NET 實體數據模型
4.選擇“來自資料庫的 EF 設計器”,我這裡已建好資料庫,所以選擇了DBFirst模式
5.新建連接,選擇“更改(C)...”
6.選擇“MySQL DataBase”,填寫連接信息
7.選擇需要的表,點擊“完成”,然後就大功告成了!
三、使用空EF設計器生成資料庫
1.步驟與上面類似,這裡選擇“空EF設計器模型”
2.添加實體
3.創建一個新MySQL的資料庫
4.更改模型屬性,選擇“SSDLTomYsql.tt(VS)”DDL生成模板(這一步很重要,否則後面會出錯)
5.右擊模型設計器,選擇“根據模型生成資料庫(G)...”
6.填寫資料庫連接信息,這裡選擇剛剛創建的“test2”資料庫
7.生成資料庫腳本
8.將腳本全部複製到資料庫中執行
9.大功告成,資料庫成功創建!
四、配置過程中常見錯誤及解決方案
1.無法使用實體框架
解決方案:採用NuGet方式安裝MySql.Data.Entity,參見第二節第4步
2.未修改DDL生成模板
解決方案:修改DDL生成模板,參見第三節第4步
3.生成模型時錯誤
解決方案:在資料庫中執行以下命令:
use <<資料庫名稱>>; set global optimizer_switch='derived_merge=OFF';
五、完成
現在你就可以跟使用SQL Server一樣使用MySQL了,雖然過程有點複雜,但還是很值得的。
以上內容是本人結合一些網上教程和自己的配置經驗,總結出來的成果,親測可用。許多人被EF6+MySQL的配置折騰了很久,希望這篇文章可以給各位提供一點幫助,有不足之處歡迎留言!
本文為作者kMacro原創,轉載請註明來源:http://www.jianshu.com/p/910a4175bf7b。