Я удаляю несколько элементов из таблицы, используя Entity Framework. Не существует внешнего ключа / родительского объекта, поэтому я не могу справиться с этим с помощью OnDeleteCascade.
Прямо сейчас я делаю это:
var widgets = context.Widgets
.Where(w => w.WidgetId == widgetId);
foreach (Widget widget in widgets)
{
context.Widgets.DeleteObject(widget);
}
context.SaveChanges();
Это работает, но меня раздражает foreach. Я использую EF4, но я не хочу выполнять SQL. Я просто хочу убедиться, что я ничего не пропустил - это так хорошо, как получается, верно? Я могу абстрагировать его с помощью метода расширения или помощника, но где-то мы все еще будем делать foreach, верно?