Share via


ADO.NET DataSet

DataSet 物件對於使用 ADO.NET 支援中斷連接的、分散式資料案例很重要。DataSet 是資料的記憶體常駐表示,它提供一致的關聯式程式設計模型,而無論資料來源為何。它可與多個不同的資料來源一起使用、與 XML 資料一起使用,或管理應用程式的本機資料。DataSet 表示一組完整的資料,包括相關資料表、條件約束及資料表間的關聯性。下圖顯示 DataSet 物件模型。

DataSet 物件模型

ADO.Net 圖形

DataSet 中的方法及物件與關聯式資料庫模型中的方法及物件一致。

DataSet 還能以 XML 保存及重新載入其內容,以 XML 結構描述定義語言 (XSD) 結構描述保存及重新載入其結構描述。如需詳細資訊,請參閱在 DataSet 中使用 XML

DataTableCollection

ADO.NET DataSet 包含由 DataTable 物件所表示的零或多個資料表的集合。DataTableCollection 包含 DataSet 中的所有 DataTable 物件。

DataTableSystem.Data 命名空間中定義,表示記憶體常駐資料的單一資料表。它包含由 DataColumnCollection 所表示的資料行集合,以及由 ConstraintCollection 所表示的條件約束,它們共同定義資料表的結構描述。DataTable 還包含由 DataRowCollection 所表示的資料列集合,它包含資料表中的資料。連同其目前狀態一起,DataRow 還保留其目前及原始版本,以識別儲存在資料列中之值的變更。

DataRelationCollection

DataSet 在其 DataRelationCollection 物件中包含關聯性。由 DataRelation 物件所表示的關聯性,會將一個 DataTable 中的資料列與其他 DataTable 中的資料列相關聯。關聯性類似於在關聯式資料庫中,主索引鍵資料行與外部索引鍵資料行之間存在的聯結路徑。DataRelation 識別 DataSet 之兩個資料表中相符的資料行。

使用關聯性,可在 DataSet 內從一個資料表瀏覽到另一個資料表。DataRelation 的基本項目是關聯性的名稱、相關資料表的名稱,以及每個資料表中相關的資料行。藉由將 DataColumn 物件的陣列指定為索引鍵資料行,可在每個資料表中建立多個資料行的關聯性。對 DataRelationCollection 加入關聯性時,您可以選擇性地加入 UniqueKeyConstraintForeignKeyConstraint,以在變更相關資料行值時,強制整合條件約束。

ExtendedProperties

DataSetDataTableDataColumn 都具有 ExtendedProperties 屬性。ExtendedPropertiesPropertyCollection,您可以在其中放置自訂資訊,如用來產生結果集的 SELECT 陳述式,或產生資料的時間。ExtendedProperties 集合與 DataSet 的結構描述資訊保存在一起。

請參閱

概念

ADO.NET 架構

其他資源

ADO.NET 概觀
使用 ADO.NET 中的 DataSets