How to: Turn Off Constraints While Filling a Dataset

If a dataset contains constraints (such as a foreign-key constraint) it is possible to cause exceptions to be thrown depending on the order of operations performed against the dataset. For example, loading child records before loading the related parent records can violate the constraint and cause an exception. As soon as you load a child record the constraint checks for the related parent record and raises an error. If there were no mechanism to allow temporary constraint suspension, an error would be raised every time you tried to load a record into the child table. Another way to suspend all constraints in a dataset is with the BeginEdit, and EndEdit properties.

Note

Validation events (for example, ColumnChanging, RowChanging, and so on) will not be raised when constraints are turned off.

To suspend update constraints programmatically

  • The following example shows how to temporarily turn off constraint checking in a dataset:

    DataSet1.EnforceConstraints = False 
    ' Perform some operations on the dataset
    DataSet1.EnforceConstraints = True
    
    dataSet1.EnforceConstraints = false;
    // Perform some operations on the dataset
    dataSet1.EnforceConstraints = true;
    

To suspend update constraints using the Dataset Designer

  1. Open your dataset in the Dataset Designer. For more information, see How to: Open a Dataset in the Dataset Designer.

  2. Set the EnforceConstraints property to false in the Properties window.

See Also

Concepts

Saving Data Overview

What's New in Data

Displaying Data Overview

Other Resources

Editing Data in Your Application

Data Walkthroughs

Getting Started with Data Access

Connecting to Data in Visual Studio

Preparing Your Application to Receive Data

Fetching Data into Your Application

Displaying Data on Forms in Windows Applications

Validating Data

Saving Data