在諸多新改進之中,Visual Studio 2010 引入了使用者期待已久的Entity Framework 4.0 和 WCF Data Services 4.0(以前稱為 ADO.NET 資料服務),這兩項功能綜合起來,簡化了您建立資料模型、使用資料和產生資料的方式。
Entity Framework 4.0 (EF 4.0) 致力於啟用和簡化兩種主要方案:以域為中心的應用程式開發和傳統以資料為中心的“基於資料的表單設計”。它引入了諸如模型優先開發等功能(該功能允許您建立模型並為您產生自訂 T-SQL);對持久化透明的支援;外鍵;消極式載入以及實體的自訂代碼產生。
WCF Data Services 4.0 致力於對開放資料協議 (odata.org) 及其新功能的更新,其中包括 Windows Presentation Foundation (WPF) 和 Silverlight 的雙向資料繫結、行計數、伺服器驅動的分頁、增強二進位大對象支援以及對投影的支援。
我將使用一個簡單的部落格應用程式 (MyBlog) 來探討 EF 和 WCF Data Services中的新功能,並說明這些技術如何協同工作來簡化建立資料模型和使用資料的方式。此應用程式範例將包含一個提供部落格文章唯讀視圖的 ASP.NET Web 應用程式,以及一個允許部落格所有者編輯文章的 Silverlight 部落格管理員用戶端。在應用程式開頭,我將首先使用模型建立一個實體資料模型 (EDM),然後產生資料庫以及用於與該資料庫互動的代碼。此樣本還將使用 Silverlight 3 CTP 3 的 ADO.NET 資料服務更新。
EF 4.0 入門
我將先探討 ASP.NET Web 應用程式項目。為了開始使用 EF,我使用“添加新項”嚮導來添加 ADO.NET EDM,並選擇一個我同樣也稱為 BlogModel 的空模型。通過按右鍵空設計器圖面並選擇“屬性”,您可以看到預設實體容器名稱,在本例中為 BlogModelContainer。首先,我將該名稱更改為 BlogContext,然後將建立模型。
MyBlog 需要三個實體,我分別將其命名為 Blog、Post 和 Tag,如圖 1 中所示。為了建立這些實體,我將一個實體從工具箱拖到設計介面,然後單擊滑鼠右鍵並選擇“屬性”以編輯實體屬性。在其中每個實體上,我還將需要一些純量屬性(按右鍵實體並選擇“添加”|“純量屬性”)。
圖 1 Blog、Post 和 Tag 實體以及關聯的屬性設定