Что ж, похоже, что после воссоздания EDM и перестройки проекта описанная выше процедура работает нормально.
В заключение решения: при маркировке объекта для удаления он ведет себя так, как будто он был «отсоединен» от контекста объекта, теряя связанных с ним родителей и коллекций, но фактически все еще находится в «присоединенном» состоянии. Если операция удаления отменена по какой-либо причине, использование объектов и коллекций, связанных с этим объектом, вызовет исключение. Чтобы решить эту проблему, нам нужно «прикрепить» объект обратно к контексту объекта. Проблема в том, что объект по-прежнему помечен как прикрепленный.
Чтобы решить эту проблему, просто обновите объект, используя:
ContextManager.CurrentObjectContext.Refresh(RefreshMode.StoreWins, item);
Надеюсь, это поможет,
Оран