VS2015 + EF6鏈接MYSQL

ADO.NET Entity Framework 是微軟以 ADO.NET 爲基礎所發展出來的對象關係對應 (O/R Mapping) 解決方案,不只支持SQL Server,還支持MySQL、Oracle等數據庫。mysql

接下來給你們講解EF6+MYSQL具體的配置流程,以及配置過程當中一些常見錯誤的解決方法。sql

開發環境:Win10 + VS2015
數據庫:MySQL 5.7.11數據庫


1、下載並安裝插件

  • MySQL-Connector-net-6.9.9 下載
  • MySQL for Visual Studio 下載mvc

    注意:安裝MySQL for Visual Studio需下載MySQL Installer,而後在安裝過程當中選擇MySQL for Visual Studio。app


2、建立新的ASP.NET MVC空白項目

1.建立項目框架

2.採用Nuget方式安裝MySql.Data.Entityasp.net

安裝完成後會多出4項引用.net

3.添加 ADO.NET 實體數據模型插件

4.選擇「來自數據庫的 EF 設計器」,我這裏已建好數據庫,因此選擇了DBFirst模式設計

5.新建鏈接,選擇「更改(C)...」

6.選擇「MySQL DataBase」,填寫鏈接信息

7.選擇須要的表,點擊「完成」,而後就大功告成了!


3、使用空EF設計器生成數據庫

1.步驟與上面相似,這裏選擇「空EF設計器模型」

2.添加實體

3.建立一個新MySQL的數據庫

4.更改模型屬性,選擇「SSDLTomYsql.tt(VS)」DDL生成模板(這一步很重要,不然後面會出錯)

5.右擊模型設計器,選擇「根據模型生成數據庫(G)...」

6.填寫數據庫鏈接信息,這裏選擇剛剛建立的「test2」數據庫

7.生成數據庫腳本

8.將腳本所有複製到數據庫中執行

9.大功告成,數據庫成功建立!


4、配置過程當中常見錯誤及解決方案

1.沒法使用實體框架

解決方案:採用NuGet方式安裝MySql.Data.Entity,參見第二節第4步

2.未修改DDL生成模板

解決方案:修改DDL生成模板,參見第三節第4步

3.生成模型時錯誤

解決方案:在數據庫中執行如下命令:

use <<數據庫名稱>>;
set global optimizer_switch='derived_merge=OFF';

5、完成

如今你就能夠跟使用SQL Server同樣使用MySQL了,雖然過程有點複雜,但仍是很值得的。

以上內容是本人結合一些網上教程和本身的配置經驗,總結出來的成果,親測可用。許多人被EF6+MySQL的配置折騰了好久,但願這篇文章能夠給各位提供一點幫助,有不足之處歡迎留言!

本文爲做者kMacro原創,轉載請註明來源:http://www.jianshu.com/p/910a4175bf7b

相關文章
相關標籤/搜索