Entity Framework 與關聯式資料

Entity Framework 每一個新的版本均在功能上進一步的提升,經過數個版本的演化,目前的 Entity Framework 6 已經足以應付大型商業應用的開發。

關聯式資料的讀取維護功能是開發商用軟體最常見的基本需求,Entity Framework 透過型別導覽屬性對應資料表的關聯架構,不需要組織群組萃取即可輕易的以階層式架構展現關聯資料,同時可以藉由 LINQ 的 join 語法跨資料表讀取關心的資料表內容,例如以下的資料表:

Product 資料表
欄位名稱
資料類型
說明
IdPK
int
商名識別編號
Name
nvarchar
商品名稱
Price
int
商品價格
CategoryIdFK
int
商品分類代碼

Category 資料表

欄位名稱
資料類型
說明
IdPK
int
分類識別編號
Name
nvarchar
分類名稱

Product資料表儲存商品資料, Category 則是商品分類,而 Product 透過 CategoryId 欄位與 Category 資料的 Id 欄位進行關聯,表示其所屬的商品分類,據此建立所需的實體資料模型,Entity Framework 會自動維護其間的關聯,開發人員不需要任何關聯語法即可取得關聯資料。



我們建立一組實體資料型別對應上述的資料結構,透過導覽屬性,即可輕易的將 Product 與 Category 的資料內容呈現如下:

Book
        ASP.NET MVC 商業應用開發實務
        Entity Framework 實務精要
        HTML5從零開始
        HTML5完美風暴
        Entity Framework LINQ 開發實戰
        ASP.NET商業級資料庫網站開發實務
        Visual C# 2010精要剖析
PC
        3U工業用機殼
        CPU散熱器 MITX
        四熱管多合一CPU風扇
        PC RS232 8埠擴充卡
        ASUC變壓器 24V 3.42A
        8 Port USB充電器
Mobile
        鋁殼24000mAh+Apple 20米傳輸線
        行動電源超薄型 85000mAh
        行動電源雙USB鋰離子電芯 65000mAH
        手機Shap鋰電池
        ACUSB充電器 10A
USB
        USB復古4吋風扇 (鐵製)
        LEDB-LED
        USB3.0滑鼠鍵盤共享傳輸線
        USB3.0 18HUB
        7Port USB充電器

除了典型的關聯,對於維護關聯架構,Entity Framework 透過物件繼承,讓我們可以將資料視為程式物件進行處理,這讓一個以上的物件關聯維護變得更為容易。



一旦具備處理關聯資料的能力,我們就可以持續的在這個基礎上擴充,應付大型商業應用系統的開發維護工作。


沒有留言: