Entity Framework 其實也不是什麼太新的技術,初版於 2008 年隨著.NET Framework 3.5 Service Pack 1釋出至成也已超過 7年,在 ADO.NET 的基礎上演進,經過持續的改良,一直到Code First 開發模式出現,最新版的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 平台最重要的資料存取核心技術,值得你投入學習的原因。