通過上述 Edit Relation 界面,可以編輯 relationship 參數。
另外,也可以通過 Toolbox 和 XSD 的編輯界面,增加 / 修改 table 中 column 元素。

注意:示例中將上面的 Order Details 元素改名為 OrderDetails ,去除其中的空格,以免一些不必要的麻煩。
在 Schema (架構)菜單中,單擊 Generate DataSet (生成 DataSet ) 或 Preview DataSet 。
為確認已創建該有類型的 DataSet ,可以在解決方案資源管理器中單擊 Show All Files (顯示所有文件)按鈕。 展開 XSD 架構文件的節點,確認存在一個與 XSD 架構相關聯的代碼文件。該代碼文件定義了新的有類型的 DataSet 類。
public class OrderDataSet : DataSet
…… Typed DataSet/OrderDataSet 直接繼承 DataSet Class.
二、使用 Typed DataSet
在使用上述 Typed DataSet 之前,先了解 OrderDataSet.XSD 文件內容。
如下是 Northwind Database 中 Orders table 的架構元素:
上述 XML Schema 會生成 OrdersRow 這一對象名稱
OrderDataSet.OrdersRow ,還有一個名為 Orders 的 DataRowCollection Class ( OrderDataSet.Orders )。
調用上述 Typed DataSet 的 Code snippet :
OrderDataSet theOrderDS = new OrderDataSet();
string strSelectOrders = "Select * From Orders ";
strSelectOrders += "Select * From [Order Details]";
SqlHelper.FillDataset(connStr, CommandType.Text, strSelectOrders, theOrderDS, new string[] {"Orders", "OrderDetails"});
StringBuilder strResults = new StringBuilder();
foreach(OrderDataSet.OrdersRow theOrder in theOrderDS.Orders)
{
strResults.Append(theOrder.OrderID.ToString() + " "
+ theOrder.CustomerID.ToString() + " "
+ theOrder.EmployeeID.ToString() + Environment.NewLine);
strResults.Append("Order Details: ");
strResults.Append(theOrder.GetChildRows("OrdertoOrderDetails").GetLength(0).ToString());
strResults.Append(Environment.NewLine);
}
txtResults.Text = strResults.ToString();
代碼比較簡單,上述代碼調用了 SqlHelper Class ( Microsoft Data Access Application Block )的 FillDataset 方法,來完成 DataSet 的填充。 FillDataSet 方法支持 Typed DataSet ,值得推薦使用。
Any questions or errors, please leave comments. Thanks.