【公告】網站目前停止所有的課程訂閱服務,除了 7 月底預計完成上線的 KBF 餘下課程影片,將不會再新增其它課程內容,原有學員權益不受影響,造成不便還請見諒,我們正在開發以 Python 為主的課程主題,未來將會合併且擴充目前的課程內容,提供更好的課程訂閱服務,感謝學員的支持。

為什麼需要 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平台最重要的資料存取技術。


沒有留言: