文章目錄
Entity Framework(Entity Framework)簡介
Entity FrameworkEntity Framework 是 ADO.NET 中的一組支援開發面向資料的軟體應用程式的技術。是微軟的一個ORM架構。
ORM知識補充:什麼是O/R Mapping?
廣義上,ORM指的是物件導向的物件模型和關係型資料庫的資料結構之間的相互轉換。
狹義上,ORM可以被認為是,基於關係型資料庫的資料存放區,實現一個虛擬物件導向的資料提供者。理想情況下,基於這樣一個物件導向的介面,持久化一個OO對象應該不需要要瞭解任何關係型資料庫儲存資料的實現細節。
ORM三個字母分別代表如所示:
ORM IN EF
在EF中的實體資料模型(EDM)由以下三種模型和具有相應副檔名的對應檔進行定義。
- 概念結構定義語言檔案
(.csdl) -- 定義概念性模型。R
- 存放結構定義語言檔案
(.ssdl) -- 定義儲存模型(又稱邏輯模型O)。
- 對應規格語言檔案
(.msl) -- 定義儲存模型與概念性模型之間的映射M。
Entity Framework 使用這些基於 XML 的模型和對應檔將對概念性模型中的實體和關係的建立、讀取、更新和刪除操作轉換為資料來源中的等效操作。EDM 甚至支援將概念性模型中的實體映射到資料來源中的預存程序。
如所示的EDMX的定義:
EF中操作資料庫的網關
ObjectContext封裝 .NET Framework 和資料庫之間的串連。此類用作“建立”、“讀取”、“更新”和“刪除”操作的網關。
ObjectContext 類為主類,用於與作為對象(這些對象為 EDM 中定義的實體類型的執行個體)的資料進行互動。
它封裝了EF 到資料庫的串連,封裝了表對應的實體的集合,所以我們所有的操作都應該是針對於ObjectContext下的實體集合,修改實體集合後,通過調用ObjectContext的SaveChange方法將對實體集合的操作映射回資料庫。當然ObjectContext通過我們上面EDMX的定義,也就是表、實體的關係的xml定義,通過集合的變化,產生對應的sql,並調用Ado.Net來實現對資料庫的操作。
如所示:
當然上面只是一個簡單的圖,更為專業點的圖應該是這樣,如所示:
通過上面的介紹我們就基本上認識到了Entity Freamwork的基本的使用方式,當然是很淺顯的。希望對初學者有協助!歡迎高手拍磚指導!
連結導航:
Entity Framework快速入門--索引貼