Выполнение миграции базы данных 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, когда выполняется какое-то условие.

Другие вопросы по тегам