2011-08-04 3 views
0

J'ai une application ASP.NET qui utilise DataSets. Toutes les relations requises sont déjà définies dans la base de données et dans le DataSet.Mise à jour en cascade DataSet

Comment puis-je mettre à jour la clé primaire dans la table parent et être sûr que tous les champs des autres tables liées à cette clé sont également mis à jour?

Si j'effectue Adapter.Update(...), les tables associées restent inchangées.

Répondre

1

Vous ne devriez jamais avoir besoin de mettre à jour une valeur de clé primaire. C'est un identifiant unique pour une ligne et doit être fiable pour être utilisé comme tel.

Qu'essayez-vous réellement d'accomplir et peut-être que nous pouvons vous suggérer une approche alternative?

+0

J'ai deux options: changer le modèle entier en ajoutant une nouvelle colonne de clé primaire et en convertissant l'ancien champ de clé primaire en nouveau champ régulier; ou changer les mauvaises valeurs dans les clés primaires. C'est possible avec le logiciel de gestion de base de données, mais pas avec l'ensemble de données ... – szamil

+0

Comment vos valeurs de clé primaire existantes peuvent-elles être «fausses»? Sont-ils supposés correspondre aux valeurs d'une autre base de données ou table? Si c'est le cas, ce ne sont pas vraiment des clés primaires, mais des clés étrangères. Je vous suggère de conserver vos clés primaires existantes et d'ajouter une autre colonne contenant les valeurs de clé étrangère. – newdayrising

Questions connexes