Massenlöschung in LINQ to Entities

c# database entity-framework linq linq-to-entities

Frage

Gibt es eine Möglichkeit, mehrere Objekte, die mit einer bestimmten Abfrage in LINQ oder LINQ-to-Entities übereinstimmen, massenhaft zu löschen? Die einzigen Referenzen, die ich finden kann, sind veraltet, und es scheint dumm zu sein, alle Objekte, die ich entfernen möchte, zu durchlaufen und manuell zu löschen.

Akzeptierte Antwort

Die Frage ist eine alte (vor EF5 existierte). Für alle, die EF5 verwenden, erledigt EntityFramework.Extended dies im Handumdrehen .


Beliebte Antwort

Vor einiger Zeit schrieb ich eine 4-teilige Blog-Serie (Teile 1 , 2 , 3 und 4 ), in der die Massenaktualisierung (mit einem Befehl) im Entity Framework behandelt wurde.

Während der Fokus dieser Serie auf dem Update lag, konnten Sie definitiv die beteiligten Prinzipien zum Löschen verwenden.

Du solltest also so etwas schreiben können:

var query = from c in ctx.Customers
            where c.SalesPerson.Email == "..."
            select c;

query.Delete();

Sie müssen nur die Erweiterungsmethode Delete () implementieren. In der Post-Serie finden Sie Hinweise, wie ...

Hoffe das hilft



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum