Desativar restrições ao preencher um conjunto de dados em aplicativos do .NET Framework

Observação

Os conjuntos de dados e as classes relacionadas são tecnologias herdadas do .NET Framework do início dos anos 2000 que permitem que os aplicativos trabalhem com dados na memória enquanto os aplicativos estão desconectados do banco de dados. As tecnologias são bastante úteis em aplicativos que permitem que os usuários modifiquem dados e persistam as alterações no banco de dados. Embora os conjuntos de dados tenham se mostrado uma tecnologia muito bem-sucedida, é recomendado que os novos aplicativos .NET usem o Entity Framework Core. O Entity Framework proporciona uma forma mais natural de trabalhar com dados tabulares como modelos de objeto e conta com uma interface de programação mais simples.

Se um conjunto de dados contiver restrições (como restrições de chave estrangeira), elas poderão gerar erros relacionados à ordem de operações executadas no conjunto de dados. Por exemplo, carregar registros filho antes de carregar registros pai relacionados pode violar uma restrição e causar um erro. Assim que você carrega um registro filho, a restrição verifica o registro pai relacionado e gera um erro.

Se não houvesse mecanismo para permitir a suspensão temporária da restrição, um erro seria gerado sempre que você tentasse carregar um registro na tabela filho. Outra maneira de suspender todas as restrições em um conjunto de dados é com as propriedades BeginEdit e EndEdit.

Observação

Os eventos de validação (por exemplo, ColumnChanging e RowChanging) não serão gerados quando as restrições forem desativadas.

Para suspender as restrições de atualização programaticamente

  • O exemplo a seguir mostra como desativar temporariamente a verificação de restrição em um conjunto de dados:

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

Para suspender as restrições de atualização usando o Designer de Conjunto de Dados

  1. Abra o conjunto de dados no Designer de Conjunto de Dados. Para obter mais informações, consulte Instruções passo a passo: criar um conjunto de dados no Designer de Conjunto de Dados.

  2. Na janela Propriedades, defina a propriedade EnforceConstraints como false.