為什麼需要 Entity Framework

為了因應網路的發展而推出的資料存取技術 ADO.NET(ADO 的進化版本),從 2000 年第一次釋出至今已超過15年,隨著雲端時代的來臨,陳舊的 ADO.NET 再一次來到升級的路口。

Entity Framework 其實也不是什麼太新的技術,初版於 2008 年隨著.NET Framework 3.5 Service Pack 1釋出至今也已超過7年,在 ADO.NET 的基礎上演進,經過持續的改良,一直到Code First 開發模式出現,最新版的Entity Framework 已足以應付大型應用的開發需求,透過類別設計建立應用程式專屬的領域模型,取代以資料庫模型為基礎的設計模式,應用程式從此與資料庫架構徹底脫勾,15 年後資料存取技術 ADO.NET 終於進化至更高的層次。

在 ADO.NET 的時代,我們必須組合SQL敘述,然後根據應用程式領域所要解決的問題需求,自行建立資料類別,除了駕馭 SQL ,基礎資料庫的架構考量與應用程式資料模型的設計平衡,在在考驗著開發人員,Entity Framework 預設以自行建立的領域模型對應基礎資料庫,而應用程式透過操作資料模型來達到與資料庫的互動目的。


從 ADO.NET 與 Entity Framework 的比較可以發現,後者只要完成資料模型的對應設計,接下來應用程式就可以專注在解決特定領域問題的邏輯運算處理,透過資料模型可以輕易處理如關聯資料的萃取、大型資料表的合併與切割操作,甚至控制資料的併行異動衝突、交易行為等等。

另外對於採用ADO.NET機制的舊系統,Entity Framework 內建的對應組態配置,讓你能夠將已建立的資料模型對應至自行指定的資料表結構,完成 Entity Framework 的轉換工作。

Entity Framework 亦針對 SQL 敘述的執行提供了必要的支援,對於某些需要特定 SQL 敘述的場合,開發人員亦能輕易的執行 SQL 敘述,甚至呼叫底層資料庫的內建預存程序。

在應用日益複雜的時代,開發人員需要更專注對付特定領域問題的資料處理,而Entity Framework 是資料導向的,透過實體資料類別的操作以支援各種領域專屬的應用程式功能建立,而這也是為什麼Entity Framework成為現代.NET平台最重要的資料存取技術。


沒有留言: