實體框架(Entity Framework)簡介
簡稱EF,與ADO.NET關系
ADO.NET Entity Framework 是微軟以 ADO.NET 為基礎所發展出來的對象關系對應 (O/R Mapping) 解決方案,早期被稱為 ObjectSpace,現已經包含在 Visual Studio 2008 Service Pack 1 以及 .NET Framework 3.5 Service Pack 1 中發表。
實體框架Entity Framework 是 ADO.NET 中的一組支持開發面向數據的軟件應用程序的技術。是微軟的一個ORM框架。
EF很自動化,性能好不好?
EF性能還算是比較高:EF就是幫我們生成SQL腳本,所以在SQLServer這層面,基本都是一樣的。
性能損耗:主要就在生成sql腳本的的階段,根據實體的變化,再根據edmx里面的ORM映射關系生成SQL,幾乎性能的損耗在整個系統級別來看是微乎其微的。
當一些EF生成的SQL不太好的時候,可以使用自己寫的SQL,或者執行存儲過程。
什么是O/R Mapping
廣義上,ORM指的是面向對象的對象模型和關系型數據庫的數據結構之間的相互轉換。
狹義上,ORM可以被認為是,基于關系型數據庫的數據存儲,實現一個虛擬的面向對象的數據訪問接口。理想情況下,基于這樣一個面向對象的接口,持久化一個OO對象應該不需要要了解任何關系型數據庫存儲數據的實現細節。
ORM:所有實現了ORM框架,都是實現一個統一的入口,開發人員通過這個統一入口對表實體進行CRUD操作,然后ORM框架自動幫我們監控實體狀態的變化,然后根據實體的狀態生成相應的SQL腳本,然后調用底層的ADO.NET執行到數據庫里去影響到表的變化。
ORM in EF
在EF中的實體數據模型(EDM)由以下三種模型和具有相應文件擴展名的映射文件進行定義:
存儲架構定義語言文件 (.ssdl) -- 定義存儲模型,對象的定義,又稱邏輯模型(O)
概念架構定義語言文件 (.csdl) -- 定義概念模型,表的定義(R)
映射規范語言文件 (.msl) -- 定義存儲模型與概念模型之間的映射(M)
實體框架 使用這些基于 XML 的模型和映射文件將對概念模型中的實體和關系的創建、讀取、更新和刪除操作轉換為數據源中的等效操作。EDM 甚至支持將概念模型中的實體映射到數據源中的存儲過程。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。