Вы должны отключить ленивую загрузку. Я думаю, что как только вы установите свойство FK, динамический прокси-сервер будет пытаться загрузить связанный объект, и он не будет работать из-за удаленного контекста.
Edit:
Я только что проверил эту проблему, потому что, как вы упомянули, отложенная загрузка не должна запускаться. Проблема заключается в автоматически сгенерированном коде, который использует методы Fixup для установки двунаправленного отношения. Если вы загрузили предыдущую связанную сущность и изменили FK, она устанавливает для связанной сущности значение NULL. Это вызывает метод fixup, который пытается удалить текущий объект из дочерних объектов предыдущего связанного объекта. Если вы не загрузили их до удаления контекста, вы получите исключение. Просто попробуйте отладить код, включая сгенерированный.
Решение может быть:
- Отключить отложенную загрузку для этого сценария
- Удалить навигационную коллекцию из связанной сущности
- Изменить шаблон T4, чтобы он не генерировал методы исправления