以 ADO.NET 為基礎所發展出來的對象關系對應 (O/R Mapping) 解決方案,是微軟的一個ORM框架。
ORM指的是面向對象的對象模型和關系型數據庫的數據結構之間的相互轉換。
首先EF原理:拿到所有實體對象,讀取映射關系,根據映射關系生成相應的sql腳本,最終調用Ado.net底層的
Command然后執行到數據庫里面去
問題:為什么用EF而不用原生的Ado.Net?
1、極大的提高開發效率:EF是微軟自己的產品,跟VS開發工具集成度比較好,開發中代碼都是強類型的,
寫代碼效率非常高,自動化程度非常高,命令式的編程。(DB first、Code first、Model first)
2、EF提供的模型設計器非常強大,不僅僅帶來了設計數據庫的革命,也附帶來的自動化生成模型,代碼的功能也極大的提高開發和架構設計的效率
3、EF跨數據支持是ORM框架主要功能點之一,帶來的是可以通過僅僅改變配置就可以做到跨數據庫的能力。
4、缺陷:性能差(生成sql腳本階段),在復雜查詢的時候生成的sql腳本效率不是很高。