2016-03-17 1 views
0

Hey Tout le monde j'utilise ce code pour supprimer plusieurs enregistrements dans le tableau. mais ça me donne une erreur.Erreur lors de la suppression de plusieurs lignes "L'objet ne peut pas être supprimé car il n'a pas été trouvé dans ObjectStateManager."

« L'objet ne peut pas être supprimé car il n'a pas été trouvé dans le ObjectStateManager »

Je suis nouveau dans EF s'il vous plaît aidez-moi ce qui ne va pas dans mon code.

listOfEntities = liste de l'enregistrement que je veux supprimer de la table
U = il est une entité de type

using (var db = new DMContext()) 
{ 
    db.SaveChanges(); 
} 

Répondre

1

Cela signifie que l'entité n'est pas fixé. Vous pouvez essayer comme ça

using (var db = new DMContext()) 
{ 
    db.YourTableEntity.Attach(EntityToRemove); 
    db.YourTableEntity.Remove(EntityToRemove); 
    db.SaveChanges(); 
} 

Vous ne pouvez pas supprimer les entités qui se détachent, vous devez d'abord les attacher et vous pouvez le supprimer.

Pour supprimer plusieurs enregistrements

foreach (var entity in entities) 
{ 
    Set<T>().Attach(entity); 
    Set<T>().Remove(entity); 
} 

SaveChanges(); 
+0

hey Rahul je veux supprimer plusieurs enregistrements. et une chose que je veux vous dire en utilisant la méthode générale pour supprimer des enregistrements. –

+0

comment puis-je joindre plusieurs entités –

+0

@ A.Q: - Mise à jour ma réponse. Vérifiez s'il vous plaît. –