La SUPPRESSION de la déclaration en contradiction avec la RÉFÉRENCE de la contrainte dans ASP.NET Dynamique de Données
J'ai deux tables Application_User et Application_User_Access. Application_User_Access tableau est d'avoir une contrainte de clé étrangère avec Application_User table.
Quand je supprime un enregistrement dans Application_User table, je reçois "la SUPPRESSION de La déclaration en contradiction avec la RÉFÉRENCE de la contrainte de" l'exception".
Ce qui se passe dans ASP.NET Dynamique Entités de Données de l'application Web. Je veux supprimer tous les enregistrements de l'enfant dans ce cas et, enfin, de supprimer l'enregistrement parent. Comment mettre en place cette?
OriginalL'auteur Anand | 2011-10-25
Vous devez vous connecter pour publier un commentaire.
Vous pouvez mettre en œuvre une suppression en cascade pour
Application_User_Access
table. Pour cela, vous devez modifier votre base de données de schéma un peu. Concrètement supprimer la référence précédente à partir de laApplication_User_Access
à laApplication_User
table et en ajouter une nouvelle:Avis que
ON DELETE CASCADE
chose. Cela signifie que chaque fois que la clé primaire de l'enregistrement est supprimé de l'enregistrement de la clé étrangère référençant il sera supprimé.Ainsi, c'est une approche possible, mais il a une petite faille.
Application_User_Access
dossiers n'a pas de sens sansApplication_User
. Ce n'est pas une règle métier, c'est une question de l'intégrité DB. C'est pourquoi je dirais que la modification de la contrainte par l'ajout de la supprimer en cascade est un peu mieux ici. Mais après tout, vous devriez aller avec l'approche que vous trouvez le plus confortable.Changer c'est SUR on DELETE CASCADE ne fonctionne pas pour moi.
OriginalL'auteur Andrei