4 翻譯 EF基礎系列 EF架構

2022-01-14 08:51:23 字數 1033 閱讀 6883

下面的圖形,展示了ef的總體架構:

讓我們來分別看看,每個元件都是啥吧:

edm(entity data model)【實體資料模型】:edm(實體資料模型)包含三個主要的部分----概念模型,對映關係以及儲存模型。

conceptual model 【概念模型】:概念模型包含模型類以及他們之間的關係。這個是和你的資料庫表設計是獨立開的。

storage model【 儲存模型】:儲存模型就是資料庫設計模型,它包含資料表、檢視、儲存過程、還有表之間的關係以及鍵等。

linq to entities:linq to entities是一種查詢語言,用於編寫針對物件模型的查詢,它返回的實體型別是定義在概念模型中的那些實體。

entity sql:entity sql和linq t oentities類似,是另外一種查詢語言,它僅僅在ef 6中使用。entity sql比 linq to entities要難點,開發者需要單獨去學習它。

object service【物件服務】:物件服務是訪問資料庫中的資料並將其返回的主要入口點。它是一種將返回的資料從實體客戶端資料提供程式到實體物件構造的過程。

entity client data provider:【實體客戶端資料提供程式】:它主要的任務就是將linq to entities或者 entity sql轉化為資料庫理解的sql語句。它和ado.net資料提供程式通訊,向資料庫傳遞資料或者從資料庫取資料。

ado.net data provider【ado.net資料提供程式】:主要是使用標準的ado.net和資料庫打交道。 

附錄:ef 6官方文件:  

ef core官方文件:

EF架構 基於EF資料層的實現

之前寫過關於實現乙個完整的 架構的文章,文章的閱讀量也是滿大的,自己很欣慰,但是,那篇文章是我 年寫的,所以,技術有些不成熟,所以今天把我的 年寫的ef底層架構公開一下,這個架構比 年的有了很大程度的提高,主要在介面規範,查詢規範上,並引入了排序功能,兩步對完善了 對資料的批量操作,可以說,這次的架...

EF深入系列 細節

在context類的建構函式中新增以下 就可以在除錯的時候在 輸出 視窗中看到sql語句 this.database.log s system.diagnostics.debug.writeline s ef中有三種方式處理關聯實體的資料載入 預載入,懶載入,顯示載入 現在有兩個類 public c...

EF架構 XMLRepository倉儲的實現

回到目錄 對於資料倉儲大家應該都很熟悉了,它一般由幾個倉儲規範和實現它的具體類組成,而倉儲的介面與架構本身無關,對於倉儲的實現,你可以選擇linq2sql,ef,nosql,及xml 等等,之前我介紹過linq2sql,ef和nosql redis 的倉儲實現,今天主要說一下xml倉儲的實現。下面的...