Обновление вашего edmx для отражения изменений, внесенных в вашу базу данных (.net linq-to-entity)

.net-3.5 entity-framework linq linq-to-entities

Вопрос

  • Итак, я сделал мой EDMX.
  • Затем я немного изменяю свою базу данных, меняя столбец с NOT NULL на NULL.
  • Я захожу в мой EDMX, щелкните правой кнопкой мыши и выберите «Обновить модель из базы данных»

Теперь я вхожу в свою программу, и она фактически не обновляется ... Я не могу поставить ноль в столбце. Что мне нужно сделать, чтобы правильно обновить edmx? Спасибо.

Принятый ответ

Выбор модели обновления из базы данных - лучший способ обновления EDMX. Существуют определенные свойства, которые не обновляются на концептуальном слое.

Убедитесь, что ваш слой Store был обновлен, просмотрев его на панели инструментов Model Viewer. Если Магазин был обновлен должным образом, то все в порядке, и ваша база данных синхронизирована. Если это так, перейдите в визуальный дизайнер, щелкните поле, перейдите к свойствам и обновите свойство NotNull на концептуальной стороне.


Популярные ответы

Обновление / удаление из EDMX не всегда функционально. Если модель не обновляется при нажатии Обновить модель из базы данных, скажем, когда вы обновили представление / таблицу в БД, сделайте следующее:

1) Удалить вид / таблицу из диаграммы модели
2) Переключите EDMX в представление XML (щелкните правой кнопкой мыши файл EDMX и выберите «Открыть с помощью»)
3) Поиск и удаление элементов сущности xml
4) Вернитесь в режим просмотра EDMX.
5) Нажмите Обновить модель из базы данных.

Это должно отражать любые изменения, которые вы внесли в базу данных в EDMX. Это громоздко, но работает без нареканий.

В идеальном мире я ожидал бы, что Модель обновления из базы данных будет синхронизировать изменения от DB до EDMX. Но это не работает большую часть времени.



Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow