using System;
using System.Data;
using System.Data.SqlClient;
public class CalculatedColumn
{
public static void Main()
{
string connectionString = "Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI";
string SQL = "SELECT * FROM Categories";
SqlConnection con = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand(SQL, con);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
con.Open();
adapter.Fill(ds, "Categories");
cmd.CommandText = "SELECT * FROM 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);
ds.Tables["Categories"].Columns.Add("AveragePrice", typeof(Decimal), "AVG(Child(Cat_Prod).UnitPrice)");
ds.Tables["Categories"].Columns.Add("TotalPrice", typeof(Decimal), "SUM(Child(Cat_Prod).UnitPrice)");
foreach (DataRow row in ds.Tables["Categories"].Rows)
{
Console.WriteLine(row["CategoryName"]);
Console.WriteLine(row["AveragePrice"]);
Console.WriteLine(row["TotalPrice"]);
}
}
}