Entity Framework 學習初級篇1--EF基本概況

下面簡單的介紹以下這個EF。

在.Net Framework SP1微軟包含一個實體框架(Entity Framework),此框架可以理解成微軟的一個ORM產品。用於支持開發人員通過對概念性應用程序模型編程(而不是直接對關係存儲架構編程)來創建數據訪問應用程序。目標是降低面向數據的應用程序所需的代碼量並減輕維護工作。Entity Framework 應用程序有以下優點:

·                 應用程序可以通過更加以應用程序爲中心的概念性模型(包括具有繼承性、複雜成員和關係的類型)來工作。

·                 應用程序不再對特定的數據引擎或存儲架構具有硬編碼依賴性。

·                 可以在不更改應用程序代碼的情況下更改概念性模型與特定於存儲的架構之間的映射。

·                 開發人員可以使用可映射到各種存儲架構(可能在不同的數據庫管理系統中實現)的一致的應用程序對象模型。

·                 多個概念性模型可以映射到同一個存儲架構。

·                 語言集成查詢支持可爲查詢提供針對概念性模型的編譯時語法驗證。

實體框架Entity Framework 是 ADO.NET 中的一組支持開發面向數據的軟件應用程序的技術。在EF中的實體數據模型(EDM)由以下三種模型和具有相應文件擴展名的映射文件進行定義。

·                 概念架構定義語言文件 (.csdl) -- 定義概念模型。

·                 存儲架構定義語言文件 (.ssdl) -- 定義存儲模型(又稱邏輯模型)。

·                 映射規範語言文件 (.msl) -- 定義存儲模型與概念模型之間的映射。

實體框架 使用這些基於 XML 的模型和映射文件將對概念模型中的實體和關係的創建、讀取、更新和刪除操作轉換爲數據源中的等效操作。EDM 甚至支持將概念模型中的實體映射到數據源中的存儲過程。它提供以下方式用於查詢 EDM 並返回對象:

·                 LINQ to Entities --提供語言集成查詢 (LINQ) 支持用於查詢在概念模型中定義的實體類型。

·                 Entity SQL --與存儲無關的 SQL 方言,直接使用概念模型中的實體並支持諸如繼承和關係等 EDM 功能。

·                 查詢生成器方法 --可以使用 LINQ 風格的查詢方法構造 Entity SQL 查詢。

下圖演示用於訪問數據的實體框架體系結構:

下面,來學習EF的基本使用方法。軟件環境::

·                 Visual Studio 2008 +SP1

·                 SQL Server2005/2008

首先,建立一個名爲“EFProject”的解決方案,然後添加一個名爲“EFModel”的類庫項目。如下圖所示。

接着,在EFModel項目中,添加“ADO.NET Entity Data Model”項目,如下圖所示:

名稱取爲“NorthWindEF.edmx”,然後點擊“添加”。然後,在後面的步驟中,數據庫選擇“NorthWind”後,在選擇影射對象是,把表、試圖、存儲過程全部都選上,其他的均保存默認的即可。最終生成的結果如下圖所示。

好了,數據模型生成完畢。

最後,談談我認爲的一些缺點:

·                 Edmx包含了所有對象的csdl,ssdl,msl文件,過於龐大,如果要手動修改這個文件,一不小心,眼睛看花了,就改錯了。(和數據集一樣的毛病)。

·                 目前EF支持表、試圖、存儲過程,其他的對象不支持,而且對使用存儲過程有很多限制(目前有EFExtension提供了更多對象的支持)。

·                 除了MS SQL Server可直接提供這種可視化的設計界面外,其他的數據庫目前還沒有提供可視化設計界面(但可以自己來實現,後面介紹)。

·                 性能問題。(網上看到有說比ADO.Net慢700百,又有人說比ADO.net快的,具體情況我還沒測試過, 但我覺得像這個些類型的框架,性能肯定是比上原生態的ADO.net慢)

好了,接下來,學習以下簡單的各種操作。

 

原文摘自:http://www.cnblogs.com/xray2005/archive/2009/05/07/1452274.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章