DataTable.Constraints 属性

定义

获取由该表维护的约束的集合。

C#
public System.Data.ConstraintCollection Constraints { get; }
C#
[System.Data.DataSysDescription("DataTableConstraintsDescr")]
public System.Data.ConstraintCollection Constraints { get; }

属性值

一个 ConstraintCollection,包含该表的 Constraint 对象的集合。 如果 Constraint 对象不存在,将返回空集合。

属性

示例

以下示例将 添加到 ForeignKeyConstraint 约束集合。

C#
private void CreateConstraint(DataSet dataSet,
    string table1, string table2, string column1, string column2)
{
    ForeignKeyConstraint idKeyRestraint = new
        ForeignKeyConstraint(dataSet.Tables[table1].Columns[column1],
        dataSet.Tables[table2].Columns[column2]);

    // Set null values when a value is deleted.
    idKeyRestraint.DeleteRule = Rule.SetNull;
    idKeyRestraint.UpdateRule = Rule.Cascade;

    // Set AcceptRejectRule to cascade changes.
    idKeyRestraint.AcceptRejectRule = AcceptRejectRule.Cascade;

    dataSet.Tables[table1].Constraints.Add(idKeyRestraint);
    dataSet.EnforceConstraints = true;
}

注解

限制 ForeignKeyConstraint 在列 (或列) 的值被删除或更新时执行的操作。 此类约束旨在与主键列一起使用。 在两个表之间的父/子关系中,从父表中删除值可能会通过以下方式之一影响子行。

  • 还可以 (级联操作) 删除子行。

  • 子列 (或) 列的值可以设置为 null 值。

  • 可以将子列 (或列) 的值设置为默认值。

  • 可以生成异常。

UniqueConstraint尝试将主键中的值设置为非唯一值时,会变为活动状态。

适用于

产品 版本
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

另请参阅