1.實體框架緊緊地和Visual Studio集成在一起,為了在你的應用程序中使用實體框架,我們增加一個ADO.NET實體數據框架到你的項目。方法如下:
右鍵你的項目,然後選擇 ➤New Item(新建項)。在彈出的對話框中(如圖1-4),選擇Data(數據)模板下邊的ADO.NET Entity Date Model(實體數據模型)模板。然後單擊Add(增加)打開數據模型創建導向。
圖1-4 向項目中添加實體數據模型
2.在彈出的對話框中會有4個選項,1 來自數據庫的EF設計器,2 空的EF設計器模型,3 空的CodeFirst模型,4 來自數據庫的Code First。其中1和2算是一種方式,是使用可視化的ef設計器設計實體模型;3和4算是一種方式,是使用代碼的方式設計實體模型。如下圖1-5。本例中我所使用得數據庫的表結構如圖1-5-2
圖1-5
圖1-5-2
3.這其中初學者使用最多的也就是第一種了“來自數據庫的EF設計器”,我們選擇第一種,點擊“下一步”,在彈出的對話框中選擇“新建連接”,然後新建一個數據庫連接。如圖1-6.
圖1-6
4.然後在彈出的對話框中選擇“是,在連接字符串中包含敏感數據”,點擊“下一步”。如圖1-7
圖1-7
5.選擇所需要的數據庫和表,選擇“確定單復數形式”(這個是為了生成實體是去掉復數形式,比如我們的表叫做Students,生成的實體應該叫做Student,叫做Students就不合適了吧。),然後點擊“完成”。如圖1-8
圖1-8
6.生成的ef實體模型視圖就如1-9所示了,我們可以看到表之間的關系也已經被映射了進來,為此ef設計器還為我們生成了各自的導航屬性,通過導航屬性可以非常方便的訪問關聯屬性。
圖1-9
7.下面是一個簡單的代碼示例。我們可以使用模型設計器為我們生成的數據訪問類“myefrecipesEntities”來進行數據庫的訪問操作。“myefrecipesEntities”繼承自“DbContext”,DbContext是ef數據操作的核心。
static void Main(string[] args) { using (myefrecipesEntities db = new myefrecipesEntities()) { Class c1 = new Class() { Name = "class1" }; Student s1 = new Student() { Name = "rj", Age = 18, Class = c1 }; db.Students.Add(s1); int i = db.SaveChanges(); foreach (var item in db.Students) { Console.WriteLine("name \t age \t class"); Console.WriteLine("{0} \t {1} \t {2}",item.Name,item.Age,item.Class.Name); } } Console.ReadKey(); }View Code
代碼輸出:
8.本篇先到這裡吧,還有幾種生成實體模型的方式以後再介紹。總之,無論使用database first,model first,code first,我們最終要操作的都是其中射影的實體,例如本例中的Student,Class。其中的實體可以像使用程序中的其他類型一樣,這樣極大的提供了方便,同時也提高了來發的效率。