巧妙使用ADO.NET DataRelation對象
ADO.NET還是比較常用的,于是我研究了一下ADO.NET DataRelation,在這里拿出來和大家分享一下,希望對大家有用。ADO.NET 數(shù)據(jù)服務框架支持具象狀態(tài)傳輸 (REST) 語義以外的功能。例如,服務操作和偵聽器可用于將驗證邏輯或安全過程添加到查詢和更新中。
可以使用 ADO.NET 數(shù)據(jù)服務定義的標準語法寫入服務操作以對輸出進行篩選或排序。以上示例的查詢字符串中使用了排序語法,其中的 $orderby 和 $top 運算符應用于操作結果。利用偵聽器可以將自定義應用程序邏輯插入到數(shù)據(jù)服務的請求或響應過程中。必須為由數(shù)據(jù)服務公開的給定實體集顯式注冊偵聽器方法。在指定的實體集上執(zhí)行查詢、插入、更新或刪除操作時,將調用相應的偵聽器。然后,偵聽器可能會更改數(shù)據(jù)、執(zhí)行授權策略或者甚至終止操作。
#T#在包含多個 DataTable 對象的 DataSet 中,可以使用 ADO.NET DataRelation 對象來使一個表與另一個表相關,在多個表之間導航,以及從相關表中返回子行或父行。創(chuàng)建 ADO.NET DataRelation 所需的參數(shù)是所創(chuàng)建的 ADO.NET DataRelation 的名稱以及對用作關系中父列和子列的那些列的一個或多個 DataColumn 引用的數(shù)組。 當創(chuàng)建 ADO.NET DataRelation 后,可以使用它在多個表之間導航和檢索值。
默認情況下,向 DataSet 中添加 ADO.NET ADO.NET DataRelation 會將一個 UniqueConstraint 添加到父表中并將一個 ForeignKeyConstraint 添加到子表中。以下代碼示例使用 DataSet 中的兩個 DataTable 對象來創(chuàng)建一個 ADO.NET DataRelation 。 每個 DataTable 包含一個名為 CustID 的列,它用作兩個 DataTable 對象之間的鏈接。 該示例將單個 ADO.NET DataRelation 添加到 DataSet 的 Relations 集合中。 該示例中的***個參數(shù)指定所創(chuàng)建的 ADO.NET DataRelation 的名稱。 第二個參數(shù)設置父 DataColumn,第三個參數(shù)設置子 DataColumn。
Visual Basic
- customerOrders.Relations.Add("CustOrders", _
- customerOrders.Tables("Customers").Columns("CustID"), _
- customerOrders.Tables("Orders").Columns("CustID"))
C#
- customerOrders.Relations.Add("CustOrders",
- customerOrders.Tables["Customers"].Columns["CustID"],
- customerOrders.Tables["Orders"].Columns["CustID"]);
ADO.NET DataRelation 也具有 Nested 屬性,如果該屬性設置為 true,則來自子表的行會在使用 WriteXml 以 XML 元素形式編寫時嵌套在來自父表的關聯(lián)行中。


















