Partager via


Désactiver les contraintes lors du remplissage d’un jeu de données dans des applications .NET Framework

Remarque

La DataSet classe et les classes associées sont des technologies .NET Framework héritées du début des années 2000 qui permettent aux applications d’utiliser des données en mémoire pendant que les applications sont déconnectées de la base de données. Les technologies sont particulièrement utiles pour les applications qui permettent aux utilisateurs de modifier les données et de conserver les modifications apportées à la base de données. Bien que les jeux de données soient une technologie éprouvée, l’approche recommandée pour les nouvelles applications .NET consiste à utiliser Entity Framework Core. Entity Framework offre un moyen plus naturel d’utiliser des données tabulaires en tant que modèles objet et dispose d’une interface de programmation plus simple.

Si un jeu de données contient des contraintes (telles que des contraintes de clé étrangère), ils peuvent déclencher des erreurs liées à l’ordre des opérations effectuées sur le jeu de données. Par exemple, le chargement d’enregistrements enfants avant le chargement des enregistrements parents associés peut violer une contrainte et provoquer une erreur. Dès que vous chargez un enregistrement enfant, la contrainte vérifie l’enregistrement parent associé et génère une erreur.

S'il n'existait aucun mécanisme permettant la suspension temporaire de contrainte, une erreur serait générée chaque fois que vous essayez de charger un enregistrement dans la table enfant. Une autre façon de suspendre toutes les contraintes dans un jeu de données est avec les propriétés BeginEdit et EndEdit.

Remarque

Les événements de validation (par exemple, ColumnChanging et RowChanging) ne sont pas déclenchés lorsque les contraintes sont désactivées.

Pour suspendre les contraintes de mise à jour par programmation

  • L’exemple suivant montre comment désactiver temporairement la vérification des contraintes dans un jeu de données :

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

Pour suspendre les contraintes de mise à jour à l’aide du Concepteur de jeux de données

  1. Ouvrez votre jeu de données dans le concepteur de jeux de données . Pour plus d’informations, consultez Procédure pas à pas : création d’un jeu de données dans le Concepteur de jeux de données.

  2. Dans la fenêtre Propriétés, définissez la propriété EnforceConstraints sur false.