爲了學習ORM,選擇了EntityFramework,經歷了三天兩夜的煎熬,N屢次錯誤,在羣裏高手的幫助下,終於成功,如今將個人心路歷程記錄下來,一是讓本身有個記錄,另外就是讓其它人少走些彎路。html
個人開發環境是Win7+VS2012,數據庫環境是Ubuntu12.04+MySQL+Mono+Jexusmysql
計劃開發完後整個運行在Linux下。sql
一、下載MySQL Connector/Net 6.8.3數據庫
地址:http://dev.mysql.com/downloads/connector/net/設計模式
有幾個版本,關於使用哪一個版本須要參考另外一篇文章:逆水寒龍 的博文《關於Linux和Windows下部署mysql.data.dll的註冊問題》app
還須要下載一個MySQL for VisualStudio版本,用於在VS中能夠在數據源中引用MySQLide
地址:《Mysql for Visual Studio 》 http://www.05sun.com/downinfo/97255.htmlpost
二、下載並安裝 EF6(我不知道這步是否是必須的,各位能夠試下並告訴我,由於在NuGet中也有安裝,不知道是不是一個意思,後面會寫具體方法)學習
地址:http://www.microsoft.com/en-us/download/details.aspx?id=40762this
三、打開VS2012,新建一個項目
四、在項目中先安裝EF6。
點擊「程序包管理器控制檯」。
五、在代碼下面會出現界面
六、在「PM>」後面輸入:
Install-Package EntityFramework
七、再輸入:Install-Package MySql.Data.Entity.EF6
八、注意一點,「這裏引自逆水寒龍的博文」,必定要加上那段,最終如圖中所示。(其實個人生成的是app.config
此時若是直接添加ado.net實體模型的話是有如下錯誤的:
注意了:App.config中生成的Provider是有問題的,這時候要手動添加紅色線畫出的一條:
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
九、從新生成一下整個解決方案,在項目裏右鍵-》添加-》新建項
十、選擇:數據-》ADO.NET 實體數據模型
十一、選擇「來自數據庫的EF設計器」,這是DBFirst設計模式,若是這裏選擇了「來自數據庫的Code First」,則就是經過代碼來建立數據庫。
由於我這裏的選創建好的MySQL數據庫,因此我選擇了第一項。
十一、選擇「新建鏈接」-》「更改」-》MySQL
十二、肯定以後要輸入MySQL的各項信息並選擇相應的數據庫
1三、選擇完畢後就是以下圖所示,而後點擊「下一步」
1四、勾選所用的表,點「完成」
1五、如今咱們已經創建好了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下,就得明天再試了。