Просто чтобы ответить на комментарий Nix к ответу,
мне кажется, что метод EntityCollection.Remove помечает только для удаления отношений, а не сущностей, как это делает метод EntityCollection.Clear.
Я знаю, что в документации сказано, что сущность также будет помечена для удаления, но в моем тесте я описал поведение, которое я описал (любой может объяснить, почему?).
Итак, если выЕсли в вашей концептуальной модели есть ограничение внешнего ключа один ко многим, вы не можете сохранить изменения контекста в хранилище постоянных данных.
Единственный способ, который я нашел (так как я не хочу CascadeDelete), это циклически проходитьдочерние элементы и вызывают context.DeleteObject для каждого из них, таким образом удаляя сущность и связанные отношения.