ADO.NET DataSet 数据模型
http://msdn.microsoft.com/zh-cn/library/zb0sdh0b.aspx
ADO.NET DataSet
.NET Framework 4.5 其他版本- .NET Framework 4
- Visual Studio 2008
- Visual Studio 2005
- .NET Framework 3.5
- .NET Framework 2.0
DataSet 對象對于支持 ADO.NET 中的斷開連接的分布式數據方案起到至關重要的作用。 DataSet 是數據駐留在內存中的表示形式,不管數據源是什么,它都可提供一致的關系編程模型。 它可以用于多種不同的數據源,用于 XML 數據,或用于管理應用程序本地的數據。 DataSet 表示包括相關表、約束和表間關系在內的整個數據集。 下圖將顯示 DataSet 對象模型。
DataSet 對象模型DataSet 中的方法和對象與關系數據庫模型中的方法和對象一致。
DataSet 還可以按 XML 的形式來保持和重新加載其內容,并按 XML 架構定義語言 (XSD) 架構的形式來保持和重新加載其架構。 有關更多信息,請參見在 DataSet 中使用 XML。
DataTableCollectionADO.NETDataSet 包含由 DataTable 對象表示的零個或多個表的集合。 DataTableCollection 包含 DataSet 中的所有 DataTable 對象。
DataTable 在 System.Data 命名空間中定義,表示內存駐留數據的單個表。 其中包含由 DataColumnCollection 表示的列集合以及由 ConstraintCollection 表示的約束集合,這兩個集合共同定義表的架構。 DataTable 還包含 DataRowCollection 所表示的行的集合,而 DataRowCollection 則包含表中的數據。 除了其當前狀態之前,DataRow 還會保留其當前版本和初始版本,以標識對行中存儲的值的更改。
DataView 類您可以利用 DataView 創建存儲在 DataTable(一種通常在數據綁定應用程序中使用的功能)中的數據的不同視圖。 通過使用 DataView,您可以使用不同的排序順序公開表中的數據,并且可以按行狀態或基于篩選器表達式來篩選數據。 有關更多信息,請參見 DataView。
DataRelationCollectionDataSet 在其 DataRelationCollection 對象中包含關系。 關系由 DataRelation 對象來表示,它使一個 DataTable 中的行與另一個 DataTable 中的行相關聯。 關系類似于可能存在于關系數據庫中的主鍵列和外鍵列之間的聯接路徑。 DataRelation 標識 DataSet 中兩個表的匹配列。
通過關系可以從 DataSet 中的一個表導航至另一個表。 DataRelation 的基本元素為關系的名稱、相關表的名稱以及每個表中的相關列。 關系可以通過一個表的多個列來生成,方法是將一組 DataColumn 對象指定為鍵列。 將關系添加到 DataRelationCollection 中之后,可以選擇添加 UniqueKeyConstraint 和 ForeignKeyConstraint,在對相關列的值進行更改時,強制執行完整性約束。
有關更多信息,請參見添加 DataRelation。
XML您可以從 XML 流或文檔填充 DataSet。 可以使用 XML 流或文檔向 DataSet 提供數據和/或架構信息。 從 XML 流或文檔中提供的信息可以與已存在于 DataSet 中的現有數據或架構信息進行合并。 有關更多信息,請參見在 DataSet 中使用 XML。
ExtendedPropertiesDataSet、DataTable 和 DataColumn 全部具有 ExtendedProperties 屬性。 ExtendedProperties 是一個 PropertyCollection,可以在其中加入自定義信息,例如用于生成結果集的 SELECT 語句或生成數據的時間。 ExtendedProperties 集合與 DataSet 的架構信息一起持久化。
LINQ to DataSetLINQ to DataSet為數據集中存儲的已斷開連接的數據提供語言集成查詢功能。 LINQ to DataSet 使用標準 LINQ 語法并在您使用 Visual Studio IDE 時提供編譯時語法檢查、靜態類型和 IntelliSense 支持。
有關更多信息,請參見 LINQ to DataSet。
?
總結
以上是生活随笔為你收集整理的ADO.NET DataSet 数据模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c# dataset 例子
- 下一篇: J2EE与.NET技术架构的比较