EF框架之三種模式

2022-06-28 08:27:19 字數 865 閱讀 1639

使用ef之前必須要對ef有個巨集觀的了解.學習任何一種技術都要像門衛一樣問幾個問題.

第一,它是誰?

第二,從**來?

第三,到**去?

默念一遍:不謀全域性者,不足謀一域.

其實entity framework的底層也是呼叫ado.net,它是更高層次的封裝.作為資料訪問的技術,entityframework的設計有高擴充套件性,這一點可體現在其對映定義的靈活性.簡單地說,使用entityframework可以充分地定義與資料庫表對映的實體,這個實體可以直接用於業務邏輯層或作為服務的資料契約.使用ef後,可以將實體類的設計工作完全放在edm的設計過程中,而不需要手工寫那些大同小異的**,令人欣喜的是這個實體模型可以在執行時修改並生效,做到一改全改.我們開發時也不用再頻繁地與資料庫打交道,我們操作實體模型的同時ef框架自動完成了對資料庫的操作.

對於一種新了解的技術,了解巨集觀是必須的,但是要想盡快熟悉還是要做一做的,寫一寫demo.這次底層設計一直在討論教育雲平台的實體部分使用哪種模式,我們知道網路上特別流行codefist,下面就來說一說ef框架劃分的模式:

database first傳統的表驅動方式建立edm,然後通過edm生成模型和資料層**。除生成實體模型和自跟蹤實現模型,還支援生成輕型dbcontext。

model first先建立edm模型,再生成ddl資料庫指令碼和模型和資料層**。除生成實體模型和自跟蹤實現模型,支援生成輕型dbcontext。

code first手動建立poco模型,資料層dbcontext及對映關係,通過database.setinitializer生成資料庫,這種方式較靈活,但是**工作較多。

雖然code first靈活,但是我們不可能手工去寫大量的poco類和對映關係。所以我們此次開發選擇model first.

EF框架的三種模式

database first 資料庫優先,傳統的表驅動方式建立edm,然後通過edm生成模型和資料層 除生成實體模型和自跟蹤實現模型,還支援生成輕型dbcontext。簡歷理解就是先設計資料庫,建立好資料庫對映成物件和上下文。model first 模型優先,先建立edm模型,再生成ddl資料庫指令...

EF框架概念及三種模式

其實entity framework的底層也是呼叫ado.net,它是更高層次的封裝.作為資料訪問的技術,entityframework的設計有高擴充套件性,這一點可體現在其對映定義的靈活性.簡單地說,使用entityframework可以充分地定義與資料庫表對映的實體,這個實體可以直接用於業務邏輯...

EF開發三種模式

入門的參考資料 本篇的參考資料 教程說的很明白,雖然聽不太懂,不過也能看懂 我該用哪個工作流?換句話說,也就是使用ef有哪幾種方式,哪種方式更適合你,更適合你當前要開發的專案。一 該不該使用ef 這個問題很複雜,個人認為,大中型專案,不宜使用ef。中小型專案,可以使用ef。二 使用ef的三種方式 1...