2010-06-26 5 views
0

Pourriez-vous m'aider à activer la suppression de livres de ma base de données? J'utilise EF 4 et j'ai une relation plusieurs-à-plusieurs entre les livres et les auteurs. Lorsque j'essaie de supprimer un livre, je reçois ce qui suit:Entity Framework 4 - comment supprimer des relations plusieurs-à-plusieurs

L'instruction DELETE est en conflit avec la contrainte REFERENCE "FK_BookAuthor_Book". Le conflit s'est produit dans la base de données "C: \ FICHIERS PROGRAMME \ SERVEUR SQL MICROSOFT \ MSSQL10.SQLEXPRESS \ MSSQL \ DATA \ NTCODING.MDF", table "dbo.BookAuthor", colonne "BookAuthor_Author_Id". La déclaration a été terminée. Etre un gourou SQL n'est pas ce que je fais, mais je pense qu'il me dit qu'il y a un enregistrement dans la table de jointure qui doit également être supprimé. Je ne suis pas sûr de la propriété que je dois définir ou du code que j'ai besoin d'ajouter.

Si vous pouvez m'aider avec ceci, je serais vraiment reconnaissant.

Merci à l'avance

Nick

Répondre

0

On dirait que ma connaissance sql était pas trop mal. J'espérais qu'en retirant les auteurs de la collection d'auteurs du livre, la table de jointure supprimerait les enregistrements .... a la fantastico!

Je devais le faire dans l'action du contrôleur de mon application Web car j'utilise un référentiel générique et je ne le place pas dans un livre. Donc, si vous connaissez un moyen que je pourrais appliquer cette règle dans mon dépôt à la place, cela serait utile encore.

Merci

1

Lorsque vous créez la relation clé étrangère entre le livre de table et la table compris entre livre et l'auteur (celui qui rompt le nombre à plusieurs dans deux one-to-many), essayez de spécifier l'action "cascade" à "insérer et mettre à jour la spécification". La même chose pour le lien entre les auteurs et la table du milieu. Ainsi, lorsque vous essayez de supprimer un auteur (ou un livre), tous les enregistrements dépendants de la table du milieu seront supprimés.

Questions connexes