0
我已經列出了要從數據庫中刪除的對象。有沒有更好的辦法做到這一點比使用:清除實體對象列表(C#和實體框架4)
foreach (Entity e in entities)
{
context.Entities.remove(e);
}
顯然,這將每次的DB,這是非常耗費時間在做刪除查詢。
最後我決定以其他方式做,但我確定必須有更好的解決方案。 這就是我想做的事(讓所有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();
}
}
有很多幫助。
它不會,如果獲取所有結果並逐個刪除它們。但解決方案是創建與數據庫的另一個連接並執行您建議的DELETE FROM目錄查詢。我希望我以前見過這個:) – Tiago 2012-08-08 18:36:54