Define DataRelation : DataRelation « ADO.Net « C# / CSharp Tutorial






using System;
using System.Data;
using System.Data.SqlClient;

public class XmlRelations
{
    private static string connectionString = "Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI";

    private static string categorySQL = "SELECT CategoryID, CategoryName,Description FROM Categories";

    private static string productSQL = "SELECT ProductID, ProductName, CategoryID FROM Products";

    public static void Main() 
    {
        SqlConnection con = new SqlConnection(connectionString);
        SqlCommand com = new SqlCommand(categorySQL, con);
        SqlDataAdapter adapter = new SqlDataAdapter(com);
        DataSet ds = new DataSet("Nortwind");

        con.Open();
        adapter.FillSchema(ds, SchemaType.Mapped, "Categories");
        adapter.Fill(ds, "Categories");
        adapter.SelectCommand.CommandText = productSQL;
        adapter.FillSchema(ds, SchemaType.Mapped, "Products");
        adapter.Fill(ds, "Products");
        con.Close();

        DataColumn parentCol = ds.Tables["Categories"].Columns["CategoryID"];
        DataColumn childCol = ds.Tables["Products"].Columns["CategoryID"];
        DataRelation relation = new DataRelation("Cat_Prod", parentCol, childCol);
        ds.Relations.Add(relation);

        relation.Nested = true;

        ds.WriteXml("mydata.xml");

        ds.WriteXml(Console.Out);
    }
}








32.38.DataRelation
32.38.1.Navigate a many-to-many relationship.
32.38.2.Define DataRelation
32.38.3.DataRelation Example