Mon modèle d'entité est le suivant: Personne, magasin et PersonStores Tableau enfant plusieurs à stocker PeronId, StoreId Lorsque je reçois une personne comme dans le code ci-dessous , et essayez de supprimer tous les StoreLocations, il les supprime de PersonStores comme mentionné mais le supprime également de la table de magasin qui n'est pas souhaitable. De même si j'ai une autre personne qui a le même id de magasin, alors il échoue en disant "The DELETE statement conflicted with the REFERENCE constraint \"FK_PersonStores_StoreLocations\". The conflict occurred in database \"EFMapping2\", table \"dbo.PersonStores\", column 'StoreId'.\r\nThe statement has been terminated"
comme il essayait de supprimer le StoreId mais que StoreId a été utilisé pour un autre PeronId et donc l'exception levée.EF 4.0 - Relation plusieurs à plusieurs - problème avec les suppressions
Person p = null;
using (ClassLibrary1.Entities context = new ClassLibrary1.Entities())
{
p = context.People.Where(x=> x.PersonId == 11).FirstOrDefault();
List<StoreLocation> locations = p.StoreLocations.ToList();
foreach (var item in locations)
{
context.Attach(item);
context.DeleteObject(item);
context.SaveChanges();
}
}
qui semblait avoir résolu le problème !! – chugh97
Merci de ma part aussi! J'ai lutté avec cela et .Clear a résolu le problème. – willem