【发布时间】:2016-03-08 12:58:46
【问题描述】:
好的,我可以像这样删除 EF6 中的单个项目:
public void DeleteUserGroup(MY_GROUPS ug)
{
using (var context = new MYConn())
{
var entry = context.Entry(ug);
if (entry.State == EntityState.Detached)
{
context.MY_GROUPS.Attach(ug);
}
context.MY_GROUPS.Remove(ug);
context.SaveChanges();
}
}
如果此方法从传递MY_GROUPS 的单个实例更改为List<MY_GROUPS>,我将如何处理删除?
是否有比只做一个foreach 并一次设置一个状态更有效的方法?
更新:
我已经在使用与上述类似的方法,即RemoveRange 方法。
但是我收到一个错误:
无法删除该对象,因为它在 对象状态管理器。
我正在寻找将对象列表附加到上下文以便删除它们的最佳方法。
【问题讨论】:
-
您的上下文中没有 .RemoveRange 吗?如果我没记错的话,你可以给 RemoveRange 一个你想删除的项目集合..
-
我这样做并且我正在使用它。但是我收到错误“无法删除该对象,因为在 ObjectStateManager 中找不到它。”
标签: c# entity-framework entity-framework-6