2.11. Building a DataSet Programmatically
Problem
You want to build a DataSet programmatically—including adding tables, columns, primary keys, and relations—from a schema that you have designed.
Solution
The following example shows how to build a complex DataSet programmatically, including how to build and add tables, columns, primary key constraints, relations, and column mappings. Use this as a template for building your own DataSet.
The solution creates a DataSet. A DataTable object containing sales order header data is created. Columns are added, including the autoincrement primary key, to the table. The table is added to the DataSet. The process is repeated for a DataTable containing sales order detail data. A DataRelation is created relating the two tables. Finally, the tables are filled with data from the Sales.SalesOrderHeader and Sales.SalesOrderDetail data from the AdventureWorks database using a DataAdapter. Data from the DataSet is output to the console.
The C# code in Program.cs in the project BuildDataSetProgrammatically is shown in Example 2-11.
Example 2-11. File: Program.cs for BuildDataSetProgramatically solution
using System; using System.Data; using System.Data.SqlClient; namespace BuildDataSetProgrammatically { class Program { static void Main(string[] args) { DataSet ds = new DataSet("SalesOrders"); // Build the SaleOrderHeader (parent) table DataTable dtHeader = new DataTable("SalesOrderHeader"); // Get the collection of columns for the parent table DataColumnCollection ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access