EF體系結構
下圖是一張EF體系結構的全景圖,讓我們單獨了解各個組件的用處。
EDM (Entity Data Model):
EDM由3個主要部分組成,概念模塊(Conceptual Model),映射(Mapping),存儲模塊(Storage Model)。
Conceptual Model:
概念模型包含模型類還有他們之間的關系,它不受數據庫設計的影響。
Storage Model:
存儲模型代表數據庫的設計,包括表、視圖、存儲過程、表間關系及主外鍵。
Mapping:
映射是指將概念模型轉化為存儲模型的一些信息。
LINQ to Entities:
LINQ to Entities是實體的查詢語言,用於編寫查詢對象模型。它可以用於返回你所定義的概念模型。這裡使用到一些LINQ相關的技術。
Entity SQL:
Entity SQL是另外一種類似於LINQ to Entities的查詢語言,然而,它比LINQ to Entities稍微難一點,開發人員需要另外學習。
Object Service:
Object service是訪問數據庫的主要入口,並且返回訪問的數據。它主要負責一些具體的事情,例如從entity client data provider(它的下一層)中獲取數據並將其轉換成實體對象。
Entity Client Data Provider:
這一層主要的職責是將LINQ to Entities或Entity SQL提供的查詢轉換成具體數據庫可以理解執行的查詢。它使用ADO.NET data provider與數據庫進行通信。
ADO.Net Data Provider:
這一層使用標准的ADO.NET與數據庫通信。