Вы делаете правильные вещи для обновления. Однако после того, как вы автоматически сгенерируете модель, вы можете настроить ее. При обновлении дизайнер EF хочет попытаться сохранить все настройки, которые вы могли выполнить. Об этом нужно догадываться, и это не всегда правильно. Я постараюсь объяснить, как это угадывается, поскольку это может помочь вам.
Ваш EDMX состоит из трех частей:
- Схема клиента (CSDL)
- Схема магазина (SSDL)
- Отображение между клиентом и хранилищем (MSL)
Дизайнер "владеет" схемой магазина. Это будет восстанавливать это почти с нуля каждый раз, когда вы обновляете. Хотя можно настроить схему хранилища, отредактировав SSDL вручную, эти изменения часто теряются при обновлении модели.
С другой стороны, вы "владеете" схемой клиента. Дизайнер сгенерирует клиентскую схему для вас при первом запуске и сгенерирует клиентскую схему для вновь импортированных объектов метаданных базы данных, таких как вновь сопоставленные таблицы или столбцы. Но после того, как клиентская схема была сгенерирована для объекта, она обычно не будет восстановлена, потому что дизайнер пытается сохранить ваши настройки. Поэтому, если вы изменяете свою базу данных таким образом, что это влияет на схему клиента, вы должны обновить схему клиента вручную. Это можно сделать в конструкторе графического интерфейса или вручную в XML.
В вашем случае проще всего было бы просто выбрать навигацию в конструкторе графического интерфейса и удалить ее. Это предполагает, что в базе данных больше нет свойства ID для навигации по обеим сторонам отношения.