У меня есть список объектов, которые я хочу удалить из базы данных.Есть ли лучший способ сделать это, чем с помощью:
foreach (Entity e in entities)
{
context.Entities.remove(e);
}
По-видимому, это будет делать запрос на удаление каждый раз к БД, что действительно занимает много времени.
Наконец я решилсделать это по-другому, но я уверен, что должно быть лучшее решение.Вот что я хочу сделать (чтобы получить все WTA, а затем удалить их):
List<int> cycles = scenario.Cycles.Select(x=>x.cycle_id).ToList();
List<int> activitiesForScenario = context.Activities.Where(
a=> cycles.Contains(a.Cycle.cycle_id)).Select(a=>a.activity_id).ToList();
List<WTA> wtas=
context.WTAs.Where(wta => activitiesForScenario.Contains(wta.activity_id_fk)).ToList();
foreach (Week_TSE_activities wta in weekTSEactivities)
{
context.Week_TSE_activities.Remove(wta);
}
И вот как это сейчас (намного лучше, но я не думаю, что это хорошее решение).
foreach (Cycle cycle in scenario.Cycles)
{
foreach (Activity activity in cycle.Activities)
{
activity.WTAs.Clear();
}
}
Большое спасибо за помощь.