來源:北大青鳥飛迅校區(qū)|發(fā)布時間:2013-05-05 08:47:56
隨著.NET 4.0時代的到來,開發(fā)者越來越關注如何能加快開發(fā)效率,從而構建健壯的程序。而微軟在.NET 4.0推出的Entity Framework,無疑是值得開發(fā)者去學習的,它實際上是微軟的ADO.NET的增強版本,是個ORM框架。在本文中,將以例子的形式簡單介紹最新的Entity Framework 4.1的基本用法。
介 紹
在舊的Entity 框架中,開發(fā)者可以從已存在的數(shù)據(jù)庫中產生業(yè)務實體的模型,這種開發(fā)方法被稱為數(shù)據(jù)庫驅動的開發(fā)方法。而在4.1的Entity Framework中,支開發(fā)者先創(chuàng)建實體業(yè)務類,然后再產生相關的數(shù)據(jù)庫文件,這種開發(fā)方法可以稱為“代碼先行”的開發(fā)方法。這種方法對于開發(fā)者來說是很有好處的,首先,會讓開發(fā)者從面向對象的思維角度出發(fā),去構建業(yè)務邏輯中的實體模型,然后再根據(jù)實際的需要去生成數(shù)據(jù)庫文件,是真正的面向對象的思維開發(fā)方法。
本文中要使用Entity Framework 4.1,這里提供下載該框架安裝程序:Entity Framework 4.1。
同時,VS.NET 2010也是少不了的,而本文的配套代碼,可以在這里下載:VS.NET 2010。
本文的例子將會創(chuàng)建兩個類Invoice類和LineItem類。而本文產生的數(shù)據(jù)庫命名為Accounting,并會產生兩張表:Invoice和LineItem。例子中的功能,還包括可以在gridview中對數(shù)據(jù)庫中的數(shù)據(jù)進行增刪改查,最后,還會演示如果類發(fā)生了變化了,如何讓相應的數(shù)據(jù)庫也發(fā)生改變。
步驟1
1) 啟動vs.net 2010;
2) 新建立一個c#語言的asp.net web工程項目;
3) 將工程命名為project EF4CodeFirst;
4) 在工程資源管理器中,鼠標右鍵點擊,然后新增一個類,將新增的類命名為Invoice.cs。
修改這個類的代碼如下:
public class Invoice
{
public int ID { get; set; }
public DateTime InvoiceDate { get; set; }
public double Total { get; set; }
}
在我們的類中,有id這個屬性,Entity框架會根據(jù)id這個屬性,去生成數(shù)據(jù)庫表中的對應字段id,如果類中沒定義id這個屬性,則會在數(shù)據(jù)庫表文件中生成以“類文件名+ID”這樣命名的字段。
在這個Invoice發(fā)票類中,存在多個條目LineItem,它們之間明顯構成一對多的關系,所以我們先建立類LineItem類。
5) 同樣,新增一個LineItem類,代碼如下:
public class LineItem
{
public int ID { get; set; }
public string ProductName { get; set; }
public double ItemCost { get; set; }
public double Units { get; set; }
public Invoice Invoice { get; set; }
}
在這個類中,維持了對Invoice類的引用,同時也是關聯(lián)了Invoice類。
6)而在Invoice類中,也要增加LineItem類的引用,這里要用到的是集合類,如下代碼:
public ICollection<LineItem> LineItems { get; set; }
同時要在Invovice類的構造函數(shù)中,進行初始化LineItem類,如下:
public Invoice()
{
LineItems = new List<LineItem>();
}
在完成上面的步驟后,則Entity框架已可以從實體類中創(chuàng)建相關的數(shù)據(jù)庫和表了,下面繼續(xù)進行步驟二。
招生熱線: 4008-0731-86 / 0731-82186801
學校地址: 長沙市天心區(qū)團結路6號
Copyright © 2006 | 湖南大計信息科技有限公司 版權所有
湘ICP備14017520號-3