Если я хочу вручную удалить объект и все его дочерние элементы,
Как я могу это сделать (я не хочу использовать cascade-delete)
Когда я пытаюсь перебрать список детей - я получаю исключение, потому что я изменяю коллекцию внутри 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();