2011-07-02 2 views
0

J'essaye de supprimer un objet d'une relation plusieurs à plusieurs mais il a refusé de travailler.EF 4 supprimer plusieurs à plusieurs objet

La structure est la suivante:

J'ai un Produits table que chaque produit a excProducts

Je suis en train de supprimer un excProduct avec le code suivant

var objectContx = new objectContx(); 
var prod = objectContx.Products.Where(p => p.ProductID == prodID).FirstOrDefault(); 
var excProd = objectContx.ExcProducts.Where(exc => exc.ExcProductID == excProdid).FirstOrDefault(); 
prod.ExcProducts.Attach(excProd); 
prod.ExcProducts.Remove(excProd); 
objectContx.SaveChanges(); 

Le excProd supprimé de la base de données, mais quand je reçois le Produit depuis objectContext il a supprimé le excProd dans sa liste. Comment puis-je également le supprimer de objectContext?

Répondre

0

Si votre relation plusieurs à plusieurs a une entité (par exemple, si elle contient des données utiles), l'instance de cette entité doit être supprimée. Cela peut être fait manuellement ou à l'aide de la suppression en cascade (voir l'option dans la fenêtre de propriétés lorsque vous êtes en relation avec le concepteur EDMX).

+0

Varod n'a pas supprimé l'instance en exécutant la méthode Remove (T)? Sinon, comment pourrais-je le supprimer (je préfère ne pas utiliser la cascade). Merci – StrouMfios

+0

Salut, tout d'abord, s'il vous plaît reformuler la question - malheureusement, je n'ai pas compris la grammaire. Deuxièmement, Danny est mon prénom. :-) –

+0

Mauvais copier coller pour votre nom. Dans mon sujet, comment pourrais-je supprimer l'instance? Je pensais que la méthode Remove (T) supprime l'instance. N'est-ce pas? – StrouMfios

Questions connexes