ADO.NET使用技巧大揭秘
經過長時間學習ADO.NET,于是和大家分享一下關于ADO.NET使用技巧的運用,看完本文你肯定有不少收獲,希望本文能教會你更多東西。ADO.NET 提供以下兩個對象,用于檢索關系數據并將其存儲在內存中:DataSet 和 DataReader。DataSet 提供一個內存中數據的關系表示形式,一整套包括一些表在內的數據(這些表包含數據、對數據進行排序并約束數據),以及表之間的關系。DataReader 提供一個來自數據庫的快速、只進、只讀數據流。
當使用 DataSet 時,經常會利用 DataAdapter(也可能是 CommandBuilder)與數據源進行交互。當使用 DataSet 時,也可以利用 DataView 對 DataSet 中的數據應用排序和篩選。也可以從 DataSet 繼承,創建強類型 DataSet,用于將表、行和列作為強類型對象屬性公開。
下列主題包括的信息涉及:使用 DataSet 或 DataReader 的***時機、如何優化訪問它們所包含數據、以及如何優化使用 DataAdapter(包括 CommandBuilder)和 DataView 的技巧。
ADO.NET使用技巧DataSet 與 DataReader
當設計應用程序時,要考慮應用程序所需功能的等級,以確定使用 DataSet 或者是 DataReader。
要通過應用程序執行以下操作,就要使用 DataSet:
◆在結果的多個離散表之間進行導航。
◆ 操作來自多個數據源(例如,來自多個數據庫、一個 XML 文件和一個電子表格的混合數據)的數據。
◆在各層之間交換數據或使用 XML Web 服務。與 DataReader 不同的是,DataSet 能傳遞給遠程客戶端。
◆重用同樣的行組,以便通過緩存獲得性能改善(例如排序、搜索或篩選數據)。
◆每行執行大量處理。對使用 DataReader 返回的每一行進行擴展處理會延長服務于 DataReader 的連接的必要時間,這影響了性能。
◆使用 XML 操作對數據進行操作,例如可擴展樣式表語言轉換(XSLT 轉換)或 XPath 查詢。
對于下列情況,要在應用程序中使用 DataReader:
◆不需要緩存數據。
◆要處理的結果集太大,內存中放不下。
◆一旦需要以只進、只讀方式快速訪問數據。
注填充 DataSet 時,DataAdapter 使用 DataReader。因此,使用 DataAdapter 取代 DataSet 提升的性能表現為節省了 DataSet 占用內存和填充 DataSet 需要的循環。一般來說,此性能提升只是象征性的,因此,設計決策應以所需功能為基礎,學會了我教你的ADO.NET使用技巧了嗎。
【編輯推薦】

















