Я удаляю несколько элементов из таблицы, используя 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, верно?