The ForeignKeyConstraint
The
ForeignKeyConstraint
provides an easy way to impose referential integrity rules on records
in a DataSet
. The
ForeignKeyConstraint
serves two purposes: it
prevents you from making DataSet
changes that
violate referential integrity, and it allows you to define what
action to take with child rows when
parent rows are updated or deleted.
When creating a ForeignKeyConstraint
, you specify
the parent and child DataColumn
and optionally
name the constraint. You add the
ForeignKeyConstraint
to the child
DataTable
. For example, the following code
creates and applies a ForeignKeyConstraint
that
relates product records to a specific category:
ForeignKeyConstraint fc = new ForeignKeyConstraint("CategoryID", ds.Tables["Categories"].Columns["CategoryID"], ds.Tables["Products"].Columns["CategoryID"]); ds.Tables["Products"].Constraints.Add(fc);
Before performing this step, you should add a
UniqueKeyConstraint
on the
CategoryID
column in the parent
(Categories
) table to ensure that every relation
can be resolved.
You can also pass constructor arguments to several overloads of the
Add( )
method of a
ConstraintCollection
to create a
ForeignKeyConstraint
. The following code is
equivalent to the previous example:
// Add a new ForeignKeyConstraint to the table's Constraints collection. dt.Constraints.Add("CategoryID", ds.Tables["Categories"].Columns["CategoryID"], ds.Tables["Products"].Columns["CategoryID"]);
When a ForeignKeyConstraint
is in place, and constraint checking is ...
Get ADO.NET in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.