這篇文章概述了.NET Framework 2.0裡的ADO.NET2.0的最新特性。在以下敘述中將附帶一些簡單的例子來討論這些特性的細節。
以下便是ADO.NET新增的特性:
1. 批量復制操作(Bulk Copy Operation)
將數據從一個數據源批量復制到另一個數據源是ADO.NET 2.0的一個新特性。批量復制類提供了最快的方法把數據從一個數據源遷移到另一個數據源。每個ADO.NET的數據提供者都會提供相應的批量復制類。例如,在SQL.NET數據提供者裡,批量復制操作是由一個叫SqlBulkCopy的類來完成的,它可以讀取一個DataSet, DataTable, DataReader或XML 對象。
2.批量更新(Batch Update)
如果數據庫服務器支持批量更新特性,Batch update代替了幾個短周期提交請求的方式,從而大大改善在一個短周期內向服務器產生多個批量更新時的性能。UpdateBatchSize屬性提供在一批更新裡要更新行數。這個屬性值能被限制到小數位。
3.數據分頁
現在command對象具有一個新的執行方法叫做ExecutePageReader。這個方法有三個參數——CommandBehavior, startIndex, 和 pageSize。如果你想獲得數據行數是101-200,你可以通過調用這個方法設置startIndex為101和pageSize為100而輕易完成這個功能。
4.數據連接(Connection)明細
現在你可以通過設置連接的StatisticsEnabled屬性為真來獲取一個連接更多的信息。Connection對象提供了兩個新方法——RetrieveStatistics 和 ResetStatistics。RetrieveStatistics方法返回一個HashTable對象來填充連接信息,如:數據轉移,用戶明細,游標明細,緩存信息和事務處理。
5.DataSet.RemoringFormat屬性
當DataSet.RemoringFormat設置為二進制時, DataSet的序列化格式由二進制格式代替了原有的XML標記格式,這種改變能顯著改善序列化和還原序列化操作的性能。
6. DataTable的加載(Load)與保存(Save)方法
在以前版本的ADO.NET中,只有DataSet具有Load和Save的方法。Load方法可以把諸如XML等對象中的數據加載到一個DataSet對象中,同時Save方法可以保存數據到一個持久化存儲媒體裡。現在DataTable也支持這兩種方法了。
7.新的數據控件
在工具箱中,新的控件——DataGridView, DataConnector和DataNavigator。利用這些控件,你能在數據綁定控件中提供數據導航(分頁)功能。
8. DbProvidersFactories類
這個類能提供當前機器裡的現有數據提供者(providers)列表。在寫數據庫依賴程序時,你能利用這個類及其成員為你的數據庫查找最適合的數據提供者。
9.自定義數據提供者(Provider)
通過提供工廠類,現在ADO.NET可以擴展支持自定義數據提供者功能。你無需編寫一個數據提供者支持代碼。你可以用數據提供者基類以及連接字符串幫助你完成這些功能。
10. DataReader新的執行方法
現在command對象支持更多的執行方法了,除了舊的ExecuteNonQuery, ExecuteReader, ExecuteScaler和 ExecuteXmlReader方法,還加了新的執行方法,它們是:ExecutePageReader, ExecuteResultSet和 ExecuteRow。圖2展示了Command對象在ADO.NET2.0支持的所有執行方法。
總結
ADO.NET2.0為開發者提供了許多新的、改良過的特性以改善性能和減少代碼量。