【菜鳥看框架】——淺談EF框架 阿新 • • 發佈:2019-02-11 引言 在上一篇部落格中說道在合作小組中接觸到了很多新的知識,這些新的知識讓我感到我們現在還是一隻很弱小的菜 鳥,我們根本不知道外面的事物是多麼的新鮮,在我們之外還有多少東西是需要我們好好學習的,所以現在我們的時 間相對需要學習的知識來說真的是太少了,我們真的應該多學習一些新的知識來充實我們自己,最近我負責的底層為 了能更接近ITOO,我們採用了EF實體框架。經過這幾天的學習和研究可以說對EF框架有了那麼一點點的認識,在這和 大家分享。 基本知識 在介紹EF之前我們先來了解一種思想——O/R Mapping: 廣義上,ORM指的是面向物件的物件模型和關係型資料庫的資料結構之間的相互轉換。 狹義上,ORM可以被認為是,基於關係型資料庫的資料儲存,實現一個虛擬的面向物件的資料訪問介面。理想情況 下,基於這樣一個面向物件的介面,持久化一個OO物件應該不需要要了解任何關係型資料庫儲存資料的實現細節。 EF概念:實體框架(Entity Framework)是ADO.NET中的一組支援面向資料的軟體應用程式的技術,是微軟的一個 ORM框架。ORM的核心思想就是把實體的變化對映成表的變化,這樣我們在開發的時候不再關心資料庫中的表的東西, 而是直接面向實體開發。 圖解:下面就給大家展示兩張照片來簡單介紹EF的核心流程。 從上面這張圖中我們可以從巨集觀上看出EF的核心流程這樣的,我們的增、刪、改、查操作不再是之間面向資料庫中 的表來操作,而是面向中間的一個上下文(objectContext)來實現,直接操作實體,這些操作經過OR對映完成對相 應資料庫的操作。下面在給大家一個微軟公司對EF實體框架的一個圖解。 Entity Framework 利用了抽象化資料結構的方式,將每個資料庫物件都轉換成應用程式物件(entity),而資料欄位 都轉換為屬性(property),關係則轉換為結合屬性(association),讓資料庫的E/R 模型完全的轉成物件模型,如此 讓程式設計師能用最熟悉的程式語言來呼叫訪問。而在抽象化的結構之下,則是高度整合與對應結構的概念層、對應 層和儲存層,以及支援 Entity Framework 的資料提供者(provider),讓資料訪問的工作得以順利與完整的進行。 這樣我們的開發人員就不用在花費很的力氣來掌握和學習那些對資料的操作語言,我們就可以利用LINQ語句對實體操 作來完成我們的資料更改操作。 EF框架的優點 1、應用程式不再對特定的資料引擎後儲存架構具有硬編碼的依賴性。 2、可以在不更改應用程式程式碼的情況下更改概念模型和特定於儲存的架構之間的對映。 3、開發人員可以利用對映到各種儲存架構(可能在不同的資料庫管理系統中實現)一致的應用程式物件模型。 4、多個概念模型可以對映到同一個儲存架構 5、語言整合查詢支援可為查詢提供針對概念性模型的編譯時語法驗證。 小結 在這篇部落格中我給打大家在理論上介紹了一下到底什麼實體框架,以及實體框架的核心思想和內容流程,讓我們先對 這這種思想有一種巨集觀的認識,也就是達到了 是什麼 的階段,在下一篇部落格中我將介紹在VS2013開發環境下怎樣實 現這種操作,給大家做一個簡單的增、刪、改的小例子。上面都是小菜鳥的見解如果不對,請大神斧正!!