ASP.NET 2.0 透過全新的資料存取控件架構,徹底解決傳統 ASP/ASP.NET 1.x 中資料存取代碼重複、維護困難、綁定與快取機制受限等痛點。核心在於提供者模型與宣告式資料源控件的結合。

圖 1:組件架構關係圖
| 物件 | 職責 |
|---|---|
Connection | 建立至特定資源的連線 |
Command | 執行命令、參數集合、交易範圍 |
DataReader | 前進唯讀資料流 |
DataAdapter | 填充 DataSet、解析資料來源更新 |
資料源控件不產生 HTML,僅代表後端資料存儲並公開豐富操作(排序、分頁、篩選、CRUD、快取)。資料綁定控件透過 DataSourceID 連接資料源控件,自動在頁面生命週期適當時機取得資料。
| 面向 | ASP.NET 1.x | ASP.NET 2.0 |
|---|---|---|
| 資料存取代碼 | 大量手寫 ADO.NET 代碼 | 宣告式資料源控件,零/少代碼 |
| 綁定機制 | 手動呼叫 DataBind() | 自動綁定,生命週期自動管理 |
| 分頁/排序 | 手動實作、事件同步複雜 | 資料源控件內建,UI 控件自動啟用 |
| 快取 | DataSet 快取受限 | 資料源控件層級快取策略 |
| 參數傳遞 | 代碼組裝參數 | 宣告式參數物件 (ControlParameter, QueryStringParameter 等) |
ASP.NET 2.0 的資料存取架構確立了「宣告式、提供者導向、控件封裝」的新範式,為後續 LINQ to SQL、Entity Framework 奠定基礎。