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


Отключение ограничений при заполнении набора данных в приложениях платформа .NET Framework

Примечание.

Наборы данных и связанные классы являются устаревшими технологиями платформа .NET Framework с начала 2000-х годов, которые позволяют приложениям работать с данными в памяти во время отключения приложений от базы данных. Технологии особенно полезны для приложений, которые позволяют пользователям изменять данные и сохранять изменения обратно в базу данных. Хотя наборы данных оказались очень успешными, мы рекомендуем новым приложениям .NET использовать Entity Framework Core. Entity Framework предоставляет более естественный способ работы с табличными данными в виде объектных моделей, и он имеет более простой интерфейс программирования.

Если набор данных содержит ограничения (например, ограничения внешнего ключа), они могут вызвать ошибки, связанные с порядком операций, выполняемых в наборе данных. Например, загрузка дочерних записей перед загрузкой связанных родительских записей может нарушить ограничение и вызвать ошибку. После загрузки дочерней записи ограничение проверяет наличие связанной родительской записи и вызывает ошибку.

Если не было механизма, разрешающего приостановку временных ограничений, ошибка будет возникать каждый раз, когда вы пытались загрузить запись в дочернюю таблицу. Другим способом приостановки всех ограничений в наборе данных является использование BeginEditсвойств и EndEdit свойств.

Примечание.

События проверки (например, ColumnChanging и RowChanging) не будут возникать при отключении ограничений.

Приостановка ограничений обновления программным способом

  • В следующем примере показано, как временно отключить проверку ограничений в наборе данных:

    dataSet1.EnforceConstraints = false;
    // Perform some operations on the dataset
    dataSet1.EnforceConstraints = true;
    

Приостановка ограничений обновления с помощью конструктора наборов данных

  1. Откройте свой набор данных в Конструкторе наборов данных. Дополнительные сведения см. в пошаговом руководстве. Создание набора данных в конструкторе наборов данных.

  2. В окне Свойства присвойте свойству EnforceConstraints значение false.