Да, вы правы. Конструктор немного глючит и не особенно хорошо справляется с некоторыми изменениями схемы. Как правило, когда я добавляю таблицу в базу данных, я запускаю Update model from database
и выбираю таблицу на вкладке Add
. Работает отлично. Если я добавляю поле в существующую таблицу, я делаю Update model
и Refresh
. Хорошо работает тоже.
Но если я добавляю одно поле и удаляю другое, или переименовываю существующее поле (насколько я помню), EF не обрабатывает это правильно (добавило новое поле, но не смогло удалить старое и так как старое остался не нанесенным на карту, проверка модели не удалась). Поэтому в этих более сложных случаях я обычно удаляю сущность, а затем выполняю Update model from database
и Add
.
Недостатком является то, что если вы действительно внесли некоторые изменения (например, переименовали некоторые поля или навигационные свойства объекта), вам придется снова вносить эти изменения.