探索ADO.NET研究切磋學習
最近進行對于ADO.NET研究的相關知識,通過對ADO.NET研究的深入學習,感覺這個EF目前來說還不是很完善。不過,據說微軟在發布.Net4.0中,微軟將推薦使用此框架,并會有所改善。
下面簡單的介紹以下這個EF。
在.Net Framework SP1微軟包含一個實體框架(Entity Framework),此框架可以理解成微軟的一個ORM產品。用于支持開發人員通過對概念性應用程序模型編程(而不是直接對關系存儲架構編程)來創建數據訪問應用程序。目標是降低面向數據的應用程序所需的代碼量并減輕維護工作。Entity Framework 應用程序有以下優點:
應用程序可以通過更加以應用程序為中心的概念性模型(包括具有繼承性、復雜成員和關系的類型)來工作。應用程序不再對特定的數據引擎或存儲架構具有硬編碼依賴性。可以在不更改應用程序代碼的情況下更改概念性模型與特定于存儲的架構之間的映射。
開發人員可以使用可映射到各種存儲架構(可能在不同的數據庫管理系統中實現)的一致的應用程序對象模型。ADO.NET研究多個概念性模型可以映射到同一個存儲架構。語言集成查詢支持可為查詢提供針對概念性模型的編譯時語法驗證。
實體框架Entity Framework 是ADO.NET研究中的一組支持開發面向數據的軟件應用程序的技術。在EF中的實體數據模型(EDM)由以下三種模型和具有相應文件擴展名的映射文件進行定義。
概念架構定義語言文件 (.csdl) -- 定義概念模型。存儲架構定義語言文件 (.ssdl) -- 定義存儲模型(又稱邏輯模型)。映射規范語言文件 (.msl) -- 定義存儲模型與概念模型之間的映射。#t#
實體框架 使用這些基于 XML 的模型和映射文件將對概念模型中的實體和關系的創建、讀取、更新和刪除操作轉換為數據源中的等效操作。ADO.NET研究 甚至支持將概念模型中的實體映射到數據源中的存儲過程。它提供以下方式用于查詢 EDM 并返回對象:
LINQ to Entities -- 提供語言集成查詢ADO.NET研究支持用于查詢在概念模型中定義的實體類型。Entity SQL -- 與存儲無關的 SQL 方言,直接使用概念模型中的實體并支持諸如繼承和關系等 EDM 功能。查詢生成器方法 --可以使用 LINQ 風格的查詢方法構造 Entity SQL 查詢。