ADO.NET 是 .NET 資料存取核心架構。為直觀理解各物件關係,以供水系統比擬各角色職責與資料流向。
| ADO.NET 物件 | 供水系統角色 | 職責說明 |
|---|---|---|
| Database | 水源 | 儲存大量資料(水) |
| Connection | 進水龍頭/管口 | 建立與資料庫連接,其他物件才能取得資料 |
| Command | 抽水機 | 提供動力與執行方法(SQL/Stored Procedure),透過 Connection 取回資料 |
| DataAdapter | 輸水管(雙向) | 透過 Command 將資料填入 DataSet(水庫),支援離線操作、更新回寫 |
| DataReader | 輸水管(單向直飲) | 唯讀、順向、高效能串流讀取,不經水庫直接送至消費端 |
| DataSet | 大水庫 | 離線資料容器,可儲存多個 DataTable,斷開連接仍保有資料 |
| DataTable | 水庫中的獨立水池 | 儲存特定結構資料,一個 DataSet 可含多個 DataTable |
即使「拔掉抽水機」(關閉 Connection),「水庫」仍保有資料,支援多層架構傳遞、Web Service 序列化、本地快取等離線操作。
透過生活化比擬,快速建立 ADO.NET 物件模型心智圖像,有助於選擇正確資料存取模式(Connected vs Disconnected)並撰寫高效能代碼。