數據集 (ADO.NET)

數據集 (ADO.NET)

DataSet 對象對於支持 ADO.NET 中的斷開連接的分佈式數據方案起到至關重要的作用。 DataSet 是數據駐留在內存中的表示形式,不管數據源是什麼,它都可提供一致的關係編程模型。它可以用於多種不同的數據源,用於 XML 數據,或用於管理應用程序本地的數據。 DataSet 表示包括相關表、約束和表間關係在內的整個數據集。 下圖將顯示 DataSet 對象模型。

DataSet 對象模型
ADO.Net 圖

DataSet 中的方法和對象與關係數據庫模型中的方法和對象一致。

DataSet 還可以按 XML 的形式來保持和重新加載其內容,並按 XML 架構定義語言 (XSD) 架構的形式來保持和重新加載其架構。有關更多信息,請參見在數據集中使用 XML (ADO.NET)

ADO.NET DataSet 包含由 DataTable 對象表示的零個或多個表的集合。DataTableCollection 包含 DataSet 中的所有 DataTable 對象。

DataTableSystem.Data 命名空間中定義,表示內存駐留數據的單個表。 其中包含由 DataColumnCollection 表示的列集合以及由 ConstraintCollection 表示的約束集合,這兩個集合共同定義表的架構。 DataTable 還包含 DataRowCollection 所表示的行的集合,而 DataRowCollection 則包含表中的數據。 除了其當前狀態之前,DataRow 還會保留其當前版本和初始版本,以標識對行中存儲的值的更改。

DataSet 在其 DataRelationCollection 對象中包含關係。 關係由 DataRelation 對象來表示,它使一個 DataTable 中的行與另一個 DataTable 中的行相關聯。 關係類似於可能存在於關係數據庫中的主鍵列和外鍵列之間的聯接路徑。 DataRelation 標識 DataSet 中兩個表的匹配列。

通過關係可以從 DataSet 中的一個表導航至另一個表。DataRelation 的基本元素爲關係的名稱、相關表的名稱以及每個表中的相關列。 關係可以通過一個表的多個列來生成,方法是將一組 DataColumn 對象指定爲鍵列。 將關係添加到 DataRelationCollection 中之後,可以選擇添加 UniqueKeyConstraintForeignKeyConstraint,在對相關列的值進行更改時,強制執行完整性約束。

DataSetDataTableDataColumn 全部具有 ExtendedProperties 屬性。 ExtendedProperties 是一個 PropertyCollection,可以在其中加入自定義信息,例如用於生成結果集的 SELECT 語句或生成數據的時間。 ExtendedProperties 集合與 DataSet 的架構信息一起持久化。

LINQ to DataSet 爲存儲在數據集中的斷開連接的數據提供語言集成查詢功能。LINQ to DataSet 使用標準 LINQ 語法並提供編譯時語法檢查、靜態類型以及使用 Visual Studio IDE 時的 IntelliSense 支持。

有關更多信息,請參見 LINQ to DataSet

發佈了5 篇原創文章 · 獲贊 5 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章