Entity Framework sur la cascade de suppression

J'ai des problèmes avec la suppression des lignes connexes dans l'Entity Framework 4.1. J'ai des tables avec des relations

Livre 1<--->* BookFormats

J'ai mis la clause on delete cascade:

ALTER TABLE [dbo].[BookFormats]  WITH CHECK ADD  CONSTRAINT [FK_BookFormats_Book] 
FOREIGN KEY([BookID]) REFERENCES [dbo].[Book] ([BookID]) on delete cascade

L'EDMX propriété

Entity Framework sur la cascade de suppression

Alors, je veux supprimer tous les BokFormats les éléments liés à mon Book objet:

 var originalBook = m.db.Book.First(x => x.BookID == bookId);
 originalBook.BookFormats.Clear();
 m.db.SaveChanges();

Mais, j'obtiens l'erreur:

L'opération a échoué: La relation ne peut pas être changé parce que
un ou plusieurs de la clé étrangère propriétés est pas les valeurs null. Lorsqu'un
modification est apportée à une relation, la clé étrangère de la propriété est
la valeur null. Si la clé étrangère ne prend pas en charge les valeurs null,
une nouvelle relation doit être définie, la clé étrangère de la propriété doit être
attribué une valeur non null, ou sans rapport avec l'objet doit être
supprimé.

J'ai manqué d'idées sur la façon de supprimer ces objets. Des idées?

source d'informationauteur Tony

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *