Ich lösche mehrere Elemente aus einer Tabelle mit Entity Framework. Es gibt keinen Fremdschlüssel / übergeordnetes Objekt, so dass ich dies nicht mit OnDeleteCascade behandeln kann.
Im Moment mache ich das:
var widgets = context.Widgets
.Where(w => w.WidgetId == widgetId);
foreach (Widget widget in widgets)
{
context.Widgets.DeleteObject(widget);
}
context.SaveChanges();
Es funktioniert, aber das foreach stört mich. Ich verwende EF4, aber ich möchte kein SQL ausführen. Ich möchte nur sicherstellen, dass ich nichts verpasse - das ist so gut wie es geht, richtig? Ich kann es mit einer Erweiterungsmethode oder einem Helfer abstrahieren, aber irgendwo werden wir immer noch ein foreach ausführen, richtig?