如何在Entity Framework中刪除多行(沒有foreach)我正在使用Entity Framework從表中刪除多個項目。沒有外鍵/父對象,因此我無法使用OnDeleteCascade處理此問題?,F在我這樣做:var widgets = context.Widgets
.Where(w => w.WidgetId == widgetId);foreach (Widget widget in widgets){
context.Widgets.DeleteObject(widget);}context.SaveChanges();它有效但是foreach讓我煩惱。我正在使用EF4,但我不想執行SQL。我只是想確保我沒有遺漏任何東西 - 這一切都很好,對吧?我可以用擴展方法或幫助器來抽象它,但在某個地方我們仍然會做一個foreach,對吧?
3 回答

絕地無雙
TA貢獻1946條經驗 獲得超4個贊
如果你不想直接在循環中調用DeleteObject來執行SQL,那么今天你可以做到最好。
但是,您可以使用我在此處描述的方法,通過擴展方法執行SQL并使其完全通用。
雖然答案是3.5。對于4.0,我可能會使用新的ExecuteStoreCommand API,而不是下載到StoreConnection。
添加回答
舉報
0/150
提交
取消