表示數據在內存中的緩存。
System.Object
System.ComponentModel.MarshalByValueComponent
System.Data.DataSet
線程安全
該類型對於多線程讀操作是安全的。您必須使任何寫操作同步。
備註
DataSet 是 ADO.NET 結構的主要組件,它是從數據源中檢索到的數據在內存中的緩存。DataSet 由一組 DataTable 對象組成,您可使這些對象與 DataRelation 對象互相關聯。您還可通過使用 UniqueConstraint 和 ForeignKeyConstraint 對象在 DataSet 中實施數據完整性。有關使用 DataSet 對象的詳細信息,請參見創建和使用 DataSet。
儘管 DataTable 對象中包含數據,但是 DataRelationCollection 允許您遍覽表的層次結構。這些表包含在通過 Tables 屬性訪問的 DataTableCollection 中。當訪問 DataTable 對象時,注意它們是按條件區分大小寫的。例如,如果一個 DataTable 被命名爲“mydatatable”,另一個被命名爲“Mydatatable”,則用於搜索其中一個表的字符串被認爲是區分大小寫的。但是,如果“mydatatable”存在而“Mydatatable”不存在,則認爲該搜索字符串不區分大小寫。有關使用 DataTable 對象的更多信息,請參見創建數據表。
DataSet 可將數據和架構作爲 XML 文檔進行讀寫。數據和架構可通過 HTTP 傳輸,並在支持 XML 的任何平臺上被任何應用程序使用。可使用 WriteXmlSchema 方法將架構保存爲 XML 架構,並且可以使用 WriteXml 方法保存架構和數據。若要讀取既包含架構也包含數據的 XML 文檔,請使用 ReadXml 方法。
在典型的多層實現中,用於創建和刷新 DataSet 並依次更新原始數據的步驟包括:
- 通過 DataAdapter 使用數據源中的數據生成和填充 DataSet 中的每個 DataTable。
- 通過添加、更新或刪除 DataRow 對象更改單個 DataTable 對象中的數據。
- 調用 GetChanges 方法以創建只反映對數據進行的更改的第二個 DataSet。
- 調用 DataAdapter 的 Update 方法,並將第二個 DataSet 作爲參數傳遞。
- 調用 Merge 方法將第二個 DataSet 中的更改合併到第一個中。
- 針對 DataSet 調用 AcceptChanges。或者,調用 RejectChanges 以取消更改。