在entity-Framework中手动删除对象树

时间:2011-01-29 18:51:21

标签: entity-framework-4

如果我想手动删除一个对象及其所有子对象, 我怎么能(我不想使用级联删除)

当我试图遍历子列表时 - 我得到一个例外,因为我正在更改foreach中的集合 - 这是一个问题......还有其他方法吗? (我每次都要设置状态删除)。

var myAssignemnt = (from s in context.Assignments.Include("ActivityInAssignments").Where(s => s.AssignmentID == AssignmentID) select s).FirstOrDefault();

foreach (ActivityInAssignment acc in myAssignemnt.ActivityInAssignments)
{
  context.ObjectStateManager.ChangeObjectState(acc, System.Data.EntityState.Deleted);
}
context.ObjectStateManager.ChangeObjectState(myAssignemnt, System.Data.EntityState.Deleted);
context.SaveChanges();

1 个答案:

答案 0 :(得分:2)

也许试试... in myAssignemnt.ActivityInAssignments.ToList()