Выполнение миграции базы данных DNX (EF7) в Azure
Я запускаю проект MVC с ASP.NET 4.6 и EF7 локально, и все работает отлично. Я управлял dnx . efigration Начальные команды для создания таблиц базы данных, и все прошло нормально. Приложение работает.
С Azure у меня есть одна проблема, я не могу запустить dnx . ef команда миграции, поэтому моя база данных SQL пуста. Я отладил Startup.cs и строка подключения была правильно получена, но таблиц там нет.
Я использовал опцию "Опубликовать" в Visual Studio 2015 для развертывания в своем веб-приложении Azure.
Как я могу запустить эту команду в моем веб-приложении? Есть ли другой способ создания базы данных?
Спасибо
1 ответ
Похоже, что команда EF устранила печально известные инициализаторы базы данных и предлагает более универсальный метод для этого в версии 7.
Просто используйте эти методы в конвейере перед любым вызовом базы данных,
yourDbContext.Database.EnsureCreated();
создать базу данных в случае, если она не существует и
yourDbContext.Database.Migrate();
применить миграцию (если вы используете эту функцию позже). Оба метода выше также имеют асинхронную версию.
В своем решении я создал статический класс, который я использую для инициализации базы данных и заполнения ее некоторыми данными. Я вызываю метод Seed из метода Configure в классе Startup, когда выполняется какое-то условие.