ADO.NET Entity Framework 入门示例向导(附Demo程序下载)
生活随笔
收集整理的這篇文章主要介紹了
ADO.NET Entity Framework 入门示例向导(附Demo程序下载)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
ADO.NET Entity Framework 入門示例向導(附Demo程序下載) ADO.NET Entity Framework 是.Net Framework 3.5 SP1 引入的實體框架,它使開發人員可以通過對象模型(而不是邏輯/關系數據模型)專注于數據。實體框架Entity Framework使用概念層、映射層和邏輯層將邏輯數據庫結構抽象化。本文http://forum.entlib.com 開源論壇小組提供。 實體數據模型(Entity Data Model) 實體框架的核心位于其模型中。實體框架支持表示數據庫中的關系架構的邏輯存儲模型。關系數據庫通常存儲數據的方式與應用程序使用數據的方式不同。通常,這會迫使開發人員按照數據庫包含數據的結構檢索數據。因此,開發人員通常將數據加載到更適合處理業務規則的業務實體中。在本示例中,以邏輯模型表示關系數據庫的構架,業務實體表示概念模型。實體框架使用映射層在模型之間搭建了橋梁。因此,實體框架的模型中有三個處于活動狀態的層: 1.??? 概念層(Conceptual layer) - 表示數據的概念模型,包括實體和相互關系。 2.??? 邏輯層(Logical layer)- 描述數據在數據庫的存儲模型。 3.??? 映射層(Mapping layer) - 在概念層和邏輯層模型之間建立映射。 這三層允許將數據從關系數據庫映射到更加面向對象的業務模型。實體框架提供了使用 XML 文件定義這些層的方法。它還基于概念模型的架構生成了一系列類。可以針對這些類進行編程以直接與數據交互。這提供了抽象級別,因此開發人員可以針對概念模型而不是關系模型進行編程。 下面演示如何使用Entity Framework 構建示例程序。 首先,使用Entity Data Model?Wizard創建如下NorthwindDB.edml文件。
概念模型和邏輯模型視圖:
本示例程序采用Northwind 示例數據庫,下面開始編寫代碼對Customers表進行增、刪、改、查等等操作。 1.新增Customers記錄 ??????????? using (NorthwindEntities myDb = new NorthwindEntities()) ??????????? { ??????????????? Customers customer = new Customers(); ??????????????? Random rm = new Random(); ??????????????? customer.CustomerID = "A" + rm.Next(9999).ToString(); ??????????????? customer.CompanyName = "EntLib.com Forum"; ??????????????? customer.Address = "http://www.EntLib.com"; ??????????????? myDb.AddToCustomers(customer); ??????????????? int count = myDb.SaveChanges(); ??????????????? txtCustomerID.Text = customer.CustomerID; ??????????? } 2.更新Customers記錄 ??????????? using (NorthwindEntities myDb = new NorthwindEntities()) ??????????? { ??????????????? var query = from customer in myDb.Customers ??????????????????????????? where customer.CustomerID == txtCustomerID.Text.Trim() ??????????????????????????? select customer; ??????????????? foreach (var row in query) ??????????????? { ??????????????????? row.CompanyName = "Updated Company Name"; ??????????????? } ??????????????? myDb.SaveChanges(); ??????????? } 3.刪除Customers記錄 ??????????? using (NorthwindEntities myDb = new NorthwindEntities()) ??????????? { ??????????????? var query = from customer in myDb.Customers ??????????????????????????? where customer.CustomerID == txtCustomerID.Text.Trim() ??????????????????????????? select customer; ??????????????? foreach (var row in query) ??????????????? { ??????????????????? myDb.DeleteObject(row); ??????????????? } ??????????????? myDb.SaveChanges(); ??????????? } 4.查詢Customers,返回所有記錄 ??????????? using (NorthwindEntities myDb = new NorthwindEntities()) ??????????? { ??????????????? dataGridView1.DataSource = myDb.Customers; ??????????? } 如下的Entity Framework Demo 程序的運行界面:
本示例程序由http://forum.entlib.com 開源ASP.NET論壇小組提供,如有問題或疑問,歡迎訪問http://forum.entlib.com 論壇。 下載Demo 示例程序!
概念模型和邏輯模型視圖:
本示例程序采用Northwind 示例數據庫,下面開始編寫代碼對Customers表進行增、刪、改、查等等操作。 1.新增Customers記錄 ??????????? using (NorthwindEntities myDb = new NorthwindEntities()) ??????????? { ??????????????? Customers customer = new Customers(); ??????????????? Random rm = new Random(); ??????????????? customer.CustomerID = "A" + rm.Next(9999).ToString(); ??????????????? customer.CompanyName = "EntLib.com Forum"; ??????????????? customer.Address = "http://www.EntLib.com"; ??????????????? myDb.AddToCustomers(customer); ??????????????? int count = myDb.SaveChanges(); ??????????????? txtCustomerID.Text = customer.CustomerID; ??????????? } 2.更新Customers記錄 ??????????? using (NorthwindEntities myDb = new NorthwindEntities()) ??????????? { ??????????????? var query = from customer in myDb.Customers ??????????????????????????? where customer.CustomerID == txtCustomerID.Text.Trim() ??????????????????????????? select customer; ??????????????? foreach (var row in query) ??????????????? { ??????????????????? row.CompanyName = "Updated Company Name"; ??????????????? } ??????????????? myDb.SaveChanges(); ??????????? } 3.刪除Customers記錄 ??????????? using (NorthwindEntities myDb = new NorthwindEntities()) ??????????? { ??????????????? var query = from customer in myDb.Customers ??????????????????????????? where customer.CustomerID == txtCustomerID.Text.Trim() ??????????????????????????? select customer; ??????????????? foreach (var row in query) ??????????????? { ??????????????????? myDb.DeleteObject(row); ??????????????? } ??????????????? myDb.SaveChanges(); ??????????? } 4.查詢Customers,返回所有記錄 ??????????? using (NorthwindEntities myDb = new NorthwindEntities()) ??????????? { ??????????????? dataGridView1.DataSource = myDb.Customers; ??????????? } 如下的Entity Framework Demo 程序的運行界面:
本示例程序由http://forum.entlib.com 開源ASP.NET論壇小組提供,如有問題或疑問,歡迎訪問http://forum.entlib.com 論壇。 下載Demo 示例程序!
?
?
轉載于:https://www.cnblogs.com/entlibforum/archive/2008/08/23/1274701.html
總結
以上是生活随笔為你收集整理的ADO.NET Entity Framework 入门示例向导(附Demo程序下载)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通过自定义ISAPI Filter来禁止
- 下一篇: 北京奥运会闭幕式落下帷幕