为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Entity Framework中删除多行(没有foreach)

如何在Entity Framework中删除多行(没有foreach)

如何在Entity Framework中删除多行(没有foreach)我正在使用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,对吧?
查看完整描述

3 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

如果你不想直接在循环中调用DeleteObject来执行SQL,那么今天你可以做到最好。

但是,您可以使用我在此处描述的方法,通过扩展方法执行SQL并使其完全通用。

虽然答案是3.5。对于4.0,我可能会使用新的ExecuteStoreCommand API,而不是下载到StoreConnection。


查看完整回答
反对 回复 2019-08-24
  • 3 回答
  • 0 关注
  • 663 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信