J'ai deux objets (classe, étudiant) dans une base de données avec une relation plusieurs à plusieurs (en utilisant une simple table de jonction). J'ai trouvé comment ajouter correctement de nouveaux objets aux tables, et maintenant je voudrais supprimer un objet.Supprimer un objet avec une relation plusieurs à plusieurs de la structure d'entités?
J'ai essayé ce qui suit:
// (a classobj with id==1 does exist)
ClassObj cl = (from c in entities.ClassObjs where c.ClassID == 1 select c).First();
entities.ClassObjs.DeleteObject(cl);
entities.SaveChanges();
Ce qui donne l'erreur:
"The DELETE statement conflicted with the REFERENCE constraint \"FK_JunctionClassObjsStudents_Students\".
Où JunctionClassObjsStudents est le nom de la table de jonction qui crée la relation plusieurs à plusieurs entre les classes et tables d'étudiants.
Que dois-je faire? Merci de votre aide!!
Merci pour votre réponse! J'ai entendu parler de la cascade delete (en supposant que c'est ce que vous voulez dire?), Mais je crois comprendre que supprimer tous les objets liés à celui supprimé, même si ceux-ci étaient liés à d'autres. Fondamentalement, dans cet exemple, si vous supprimez une classe, supprime-t-elle les étudiants associés à cette classe, même s'ils sont également liés à une autre classe? – Evan
La cascade supprime la * relation *, pas l'entité. –
cool :), va essayer! – Evan