Question

Je lis que le nouveau Entity Framework comprendra une méthode pour supprimer plusieurs éléments (LINQ to SQL a DeleteAllOnSubmit ()) mais je ne peux pas trouver la fonction / méthode pour le faire.

Est-ce dans la version bêta 2 ou dois-je faire mon propre?

Mise à jour:

est ce que je suis maintenant avec:

    public void DeleteObjects(IEnumerable<object> objects)
    {
        foreach (object o in objects)
        {
            DeleteObject(o);
        }
        SaveChanges();
    }
Était-ce utile?

La solution

EF 4 permet d'exécuter des instructions TSQL contre un contexte d'objet:

   using (var context = new EntityFrameworkExampleEntities())
    {       
     var count = 
         context.ExecuteStoreCommand(@"DELETE FROM Companies WHERE [CompanyID]=4");            
    }

Voir le blog suivant pour plus de détails.

http://blogs.microsoft.co.il/blogs/gilf/archive/2009/11/25/execute-t-sql-statements-in-entity-framework-4.aspx

Autres conseils

Je sais que c'est en retard, mais j'ai trouvé ce post et trouvé une solution plus simple, qui n'a pas été publié. Vous pouvez définir OnDelete à Cascade dans les propriétés de l'Association. Dans VS2012 ouvrir le fichier edmx. Cliquez sur l'association et vous trouverez la OnDelete dans l'onglet Propriétés. Vous pouvez ensuite utiliser la méthode Remove () sans déclencheurs ou tout autre traitement spécial.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top