Прочитать на английском

Поделиться через


DataTable.Constraints Свойство

Определение

Получает коллекцию ограничений, содержащихся в данной таблице.

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

Значение свойства

Коллекция ConstraintCollection, содержащая коллекцию объектов Constraint для таблицы. Если отсутствуют объекты Constraint возвращается пустая коллекция.

Атрибуты

Примеры

В следующем примере добавляется ForeignKeyConstraint в коллекцию ограничений.

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

См. также раздел