Сначала обновите базу данных MVC, чтобы отразить изменения db

Я новичок в MVC и должен обновить свою модель.

У меня есть база данных SQL Server, уже подключенная к моему проекту, сегодня я добавляю новый столбец. Теперь мне нужно обновить код MVC, чтобы отразить изменения.

Все в Интернете говорит мне обновить файлы .edmx и .tt с помощью мастера обновления модели, поскольку они генерируются автоматически, но я не могу найти мастер в VS 2012, поэтому я стою на месте.

Это правильный способ, которым я должен это делать? Любые советы были бы замечательными ... спасибо


person juleekwin    schedule 24.09.2013    source источник
comment
так вы сначала используете код или edmx?   -  person Daniel A. White    schedule 24.09.2013
comment
сначала с кодом, вы должны добавить свойство в свою модель, а не в БД.   -  person Daniel A. White    schedule 24.09.2013
comment
@DanielA.White Сначала я использую db.   -  person juleekwin    schedule 24.09.2013


Ответы (3)


Есть несколько вариантов, которые вы можете сделать:

  1. Если база данных пуста или в ней не так много данных, которые вам нужны, вы можете удалить базу данных и создать ее заново.
  2. Вручную добавьте столбец в базу данных (после того, как свойство находится в модели)
  3. Есть нечто, называемое Code First Migrations. Это позволит вам обновить базу данных. Вот руководство, которое вы можете использовать для этого: http://msdn.microsoft.com/en-us/data/jj591621.aspx
person Andrew    schedule 24.09.2013

Дважды щелкните файл edmx. Откроется диаграмма модели базы данных. Щелкните правой кнопкой мыши и выберите «Обновить модель из базы данных...». Это запустит нужный вам мастер.

Имейте в виду, что не все изменения происходят автоматически.
Наиболее очевидным является то, что столбцы не будут удалены из модели только потому, что они исчезли из базы данных. Если вы имеете дело с большим количеством модификаций или удалений, а не добавлений, может быть лучше просто удалить модель и воссоздать ее (как предложил Эндрю выше).
Независимо от того, какой подход вы выберете, я бы предложил сделать убедитесь, что все другие изменения локального источника зафиксированы или отложены перед запуском, потому что вам может потребоваться выполнить отмену проверки, если EF выйдет из себя.

person Adam47    schedule 24.09.2013
comment
Я ответил на свой вопрос, мне пришлось пропатчить свой VS 2012 - person juleekwin; 24.09.2013

В итоге я загрузил это обновление VS 2012 и исправил . Теперь я могу обновить свою модель.

person juleekwin    schedule 24.09.2013