加入RUN!PC粉絲團
最近新增的精選文章
 
最多人點閱的精選文章
 
 
精選文章 - 開發技術
分享到Plurk
分享到FaceBook
 
新一代ASP.NET 4.0開發技術與應用(3)
具備自動感知資料庫結構的Dynamic Data
文/董大偉 2010/7/9 下午 04:37:40

在ASP.NET 4當中的Dynamic Data技術,可以讓我們建立所謂的data-driven applications,其中的DataAnnotations Attribute、Control Template、和Field Template等機制,讓開發人員可以透過模板技術,建立出一套面對不同資料庫(表)依舊可以正常運行的Web應用程式,而不需像過去ASP.NET Web Forms的資料庫存取機制,面對不同的資料表時,常常需要重新截取資料結構,或重新設計Template Field的窘境。如今我們也能夠用同一套模版,來建立出可適用於多種不同資料表結構的資料庫應用程式。


aspx網頁未具備動態感知資料庫結構
會有這樣的需求是有典故的,舉個簡單的例子,在真實世界的專案中,實務上我們常常會需要針對不同資料表建立CRUD(Create, Read, Update, Delete)等功能,如果能夠用一個模板(僅僅開發一次),在面對不同的資料表時可以完全不需要修改程式碼一樣可以運作,豈不是便利至極?

但是在以往的ASP.NET中,透過FormView、DetalsView等控制項開發出來的.aspx網頁恐怕也很難做到。主要原因在於,FormView等控件在一開始設計之初,就不打算動態的感知(偵測)後端資料庫的結構,而是採用BoundField或TemplateField的觀念來設計。而相連的SqlDataSource,也是硬生生的把資料庫欄位相關的資訊寫入了.aspx頁面當中。

這使得.aspx頁面沒有辦法在Run-time去偵測相連的後端資料庫,動態Generate出前端所需的HTML頁面,造成了ASP.NET被在開發大型資料庫應用程式時,需要解決許多先天上的限制。



【完整內容刊載於RUN!PC雜誌:2010年7月號】