VS2012+EF6+Mysql配置心路歷程


為了學習ORM,選擇了EntityFramework,經歷了三天兩夜的煎熬,N多次錯誤,在群里高手的幫助下,終於成功,現在將我的心路歷程記錄下來,一是讓自己有個記錄,另外就是讓其它人少走些彎路。

我的開發環境是Win7+VS2012,數據庫環境是Ubuntu12.04+MySQL+Mono+Jexus

計划開發完后整個運行在Linux下。

1、下載MySQL Connector/Net 6.8.3

地址:http://dev.mysql.com/downloads/connector/net/

有幾個版本,關於使用哪個版本需要參考另一篇文章:逆水寒龍 的博文《關於Linux和Windows下部署mysql.data.dll的注冊問題》

還需要下載一個MySQL  for VisualStudio版本,用於在VS中可以在數據源中引用MySQL

地址:《Mysql for Visual Studio 》 http://www.05sun.com/downinfo/97255.html

2、下載並安裝 EF6(我不知道這步是不是必須的,各位可以試下並告訴我,因為在NuGet中也有安裝,不知道是否是一個意思,后面會寫具體方法)

地址:http://www.microsoft.com/en-us/download/details.aspx?id=40762

3、打開VS2012,新建一個項目

 

4、在項目中先安裝EF6。

點擊“程序包管理器控制台”。

 

 

5、在代碼下面會出現界面

 

 

6、在“PM>”后面輸入:

Install-Package EntityFramework

 

 

 

7、再輸入:Install-Package MySql.Data.Entity.EF6

 

 

8、注意一點,“這里引自逆水寒龍的博文”,一定要加上那段,最終如圖中所示。(其實我的生成的是app.config

此時如果直接添加ado.net實體模型的話是有以下錯誤的:


注意了:App.config中生成的Provider是有問題的,這時候要手動添加紅色線畫出的一條:

<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />

 

9、重新生成一下整個解決方案,在項目里右鍵-》添加-》新建項

 

 

10、選擇:數據-》ADO.NET 實體數據模型

 

 

11、選擇“來自數據庫的EF設計器”,這是DBFirst設計模式,如果這里選擇了“來自數據庫的Code First”,則就是通過代碼來創建數據庫。

因為我這里的選建立好的MySQL數據庫,所以我選擇了第一項。

 

 

11、選擇“新建連接”-》“更改”-》MySQL

 

 

12、確定之后要輸入MySQL的各項信息並選擇相應的數據庫

 

 

13、選擇完畢后就是如下圖所示,然后點擊“下一步”

 

 

14、勾選所用的表,點“完成”

 

 

15、現在我們已經建立好了EF6的環境了,來一步程序試試

添加一個“Web窗體”,默認"WebForm1.aspx“,在其中增加一個Label控件,打開后台程序,寫入以下代碼

protected void Page_Load(object sender, EventArgs e)
        {
            KFClubEntities en = new KFClubEntities();
            this.Label1.Text = en.ServiceMan.FirstOrDefault().ServiceMan_Name;
        }

 

按F5運行,我這前提是已經建立好表結構與表內數據,大家可以按LINQ To SQL的語法去做。

好了,先寫到這吧,至於開發完以后如果遷移到Ubuntu下,就得明天再試了。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM