Я сначала использовал базу данных EntityFramework Core для создания модели как показано в документации EF Core
Но я не знаю, как обновить модель, когда была изменена база данных.
Я сначала использовал базу данных EntityFramework Core для создания модели как показано в документации EF Core
Но я не знаю, как обновить модель, когда была изменена база данных.
Вы можете повторно закрасить модель, выполнив команду, которую вы первоначально запускали, с добавленной опцией -Force
. Это приведет к перезаписи содержимого указанной папки. Используя консоль диспетчера пакетов пример из документов EF Core, пересмотренная команда будет выглядеть следующим образом:
Scaffold-DbContext "Server=(localdb)\v11.0;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force
В качестве альтернативы, если вы используете команды
Если вы собираетесь обновлять модели время от времени, то здесь удобный способ упростить процесс.
Перейдите в меню " Инструменты" > " Внешние инструменты", затем добавьте новое меню и заполните следующие поля:
Название:
Update DbContext
Команда:
dotnet.exe
Аргументы:
ef dbcontext scaffold "your-connection-string" Microsoft.EntityFrameworkCore.SqlServer --output-dir=Models --force
Начальный каталог:
$(ProjectDir)
Затем при необходимости отметьте "Использовать окно вывода", нажмите " Применить" и OK.
Когда вы снова зайдете в Инструменты, это новое меню должно быть готово для повторного использования одним нажатием кнопки!
Вам необходимо выполнить миграцию, НЕ перераспределяйте, иначе вы потеряете любую работу, выполненную на моделях, например проверку данных.
Если мы настроили в классе dbcontext
например, добавьте LoggerFactory
а затем после того, как мы используем ('Scaffold-DbContext "Server=(localdb)\v11.0;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force')
. эта команда затем все изменения настройки будут потеряны.
Используйте команду Add -igration NameOfMigrationfile, которая создается в папке миграции на уровне приложения.
Если автоматическая миграция не включена, мы можем использовать некоторые из следующих команд в консоли диспетчера пакетов.
PM> Включить миграцию -force (если автоматическая миграция не включена) PM> Добавить-миграцию MigrationName PM> Update-database -force (если команда add -igration не работает, мы можем использовать команду udate)
Откройте файл ContextModel.edmx, чтобы отобразить диаграмму модели. Щелкните правой кнопкой мыши в любом месте поверхности проекта и выберите Обновить модель из базы данных... В мастере обновлений выберите вкладку Обновить и выберите свою таблицу, затем нажмите кнопку Готово.
Для получения дополнительной информации при посещении фотографии: База данных EF Сначала с ASP.NET MVC: Изменение базы данных