為什麼需要 Entity Framework

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

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

Entity Framework 針對應用程式要解決的問題,建立實體料型,再透過對應設計,根據需求彈性的對應底層資料庫結構,而應用程式透過操作資料模型實現商業邏輯,並在需要的時候與資料庫互動。

相較 ADO.NET , Entity Framework 只要完成資料模型的對應設計,接下來應用程式就可以專注在解決特定領域問題的邏輯運算處理,經由實體模型處理如關聯資料的萃取、大型資料表的合併與切割操作,甚至控制資料的併行異動衝突、交易行為等等,而 Entity Framework 內建的對應組態配置,讓你能夠將已建立的資料模型對應至底層來源的資料表結構,完成 Entity Framework 實體模型與資料表的轉換工作。

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

比較 ADO.NET 與 Entity Framework ,利用後者開發的應用程式流程架構將更為精簡。


ADO.NET


Entity Framework

在應用程式日益複雜的時代,開發人員需要更專注對付特定領域問題的資料處理,而 Entity Framework 的模型導向設計特性,可以協助開發人員大幅簡化透過實體類別支援領域專屬的商業邏輯實踐。

Entity Framework 是出色的技術,進一步封裝 ADO.NET ,可以支援小型專案模型的快速建置,同時對於大型系統領域模型的架構設計亦非常彈性,在這套系列課程中,將從最簡純的單一資料表呈現開始,逐步討論並示範 Entity Framework  在實際的系統開發應用。



沒有留言: