標籤:blog http io ar os 使用 sp for 資料
轉自:http://www.tuicool.com/articles/bIr6JrA
、
為了學習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下,就得明天再試了。
VS2012+EF6+Mysql配置心路曆程 -\