Обновить схему базы данных в Entity Framework

.net entity-framework schema

Вопрос

Я установил VS SP1 и поиграл с Entity Framework.

Я создал схему из существующей базы данных и попробовал некоторые основные операции.

Большинство из них прошло хорошо, за исключением обновления схемы базы данных.

Я изменил базу данных всеми основными способами:

  • добавил новую таблицу
  • удалил стол
  • добавил новый столбец в существующую таблицу
  • удалил столбец из существующей таблицы
  • изменил тип существующего столбца

Первые три пошли хорошо, но изменение типа и удаление столбца не последовало за изменениями базы данных.

Есть ли способ сделать это работа от дизайнера? Или это не поддерживается в данный момент? Я еще не нашел никакого связанного материала, но все еще ищу.

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

Я предполагаю, что, возможно, этого не произойдет, потому что они сломают сборку для существующего кода, но это всего лишь предположение с моей стороны.

Вот моя логика:

Во-первых, EF должен быть отображением таблицы более 1: 1, поэтому вполне возможно, что если вы удаляете столбец из таблицы A, это не означает, что для этого объекта не должно быть свойства Description. Вы можете просто сопоставить это свойство с другой таблицей.

Во-вторых, изменение типа может привести к поломке сборок. это единственное обоснование там.


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

Я обнаружил, что в целом все еще довольно много ошибок с функциональностью «Обновление модели из базы данных».

Ключи - убийца для меня - мне еще предстоит внести какие-либо изменения в отношение внешнего ключа или добавить первичный ключ в таблицу, чтобы программа корректно работала (так как это приведет к ошибке компиляции сгенерированного код) - но для решения проблемы достаточно просто удалить модель и повторно импортировать (это займет всего минуту) - это явно не идеально, но у меня никогда не было сбоев в «свежем» импорте.



Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему