ADO.NET Entity Framework 是微軟以 ADO.NET 爲基礎所發展出來的對象關係對應 (O/R Mapping) 解決方案,不只支持SQL Server,還支持MySQL、Oracle等數據庫。mysql
接下來給你們講解EF6+MYSQL具體的配置流程,以及配置過程當中一些常見錯誤的解決方法。sql
開發環境:Win10 + VS2015
數據庫:MySQL 5.7.11數據庫
MySQL for Visual Studio 下載mvc
注意:安裝MySQL for Visual Studio需下載MySQL Installer,而後在安裝過程當中選擇MySQL for Visual Studio。app
1.建立項目框架
2.採用Nuget方式安裝MySql.Data.Entityasp.net
安裝完成後會多出4項引用.net
3.添加 ADO.NET 實體數據模型插件
4.選擇「來自數據庫的 EF 設計器」,我這裏已建好數據庫,因此選擇了DBFirst模式設計
5.新建鏈接,選擇「更改(C)...」
6.選擇「MySQL DataBase」,填寫鏈接信息
7.選擇須要的表,點擊「完成」,而後就大功告成了!
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。