EF6 Обновление кода первой модели из базы данных - PullRequest
0 голосов
/ 27 февраля 2020

Я унаследовал приложение ASP. NET MVC, используя Entity Framework 6.2. Приложение изначально было построено с использованием Code First, и я вижу миграции, которые были применены к базе данных. Структура базы данных кажется точной.

Однако для исправления проблем ссылочной целостности было добавлено множество связей, которые были сделаны непосредственно в базе данных. Их много. Может ли кто-нибудь помочь мне обновить модели из базы данных в первой реализации кода? В идеале это должен быть сначала код, а не преобразование, но мне нужно сделать одноразовое обновление.

Я более знаком с новым EF Core и подумал, что это будет так же просто, как выполнить команду scaffold-dbcontext. с силой и некоторой очисткой. Но нет такой удачи в этой старой версии. Есть ли что-то подобное?

1 Ответ

0 голосов
/ 27 февраля 2020

В зависимости от того, что означает «ton» и нужно ли вам сохранять старые миграции, вы можете либо просто перестроить всю модель, выполнив сначала код из существующей базы данных , либо сохранить созданный код в и выполните ручное восстановление:

  1. Сначала запустите код из существующей базы данных в новую папку.
  2. Сопоставьте новые поля и свойства навигации с существующими моделями.
  3. Исправлено любой свободный код (modelBuilder).
  4. Создайте миграцию, которая должна включать эти изменения.
  5. Хорошим тестом будет восстановление версии базы данных до изменения и запуск миграции на нее. Затем, возможно, используйте утилиту сравнения схем.
  6. Примените миграцию к базам данных. Если база данных уже содержит изменения, закомментируйте код Up () перед применением. Это обновит сохраненную модель, чтобы при следующей миграции эти изменения не повторялись.
...