Для dotnet-ef
я предположил, что вы говорите о Entity Framework Core. Я пытался запустить dotnet ef database update
под D:\home\site\wwwroot
KUDU и консоли диспетчера пакетов VS, я мог столкнуться с той же проблемой, что вы упомянули.
Я обнаружил похожую проблему Не найден исполняемый файл, соответствующий команде "dotnet-ef" :
Интерфейс командной строки DotNet может разрешать «dotnet-ef» только в том случае, если он находится в каталоге проекта.
Я мог бы запускать команды dotnet ef migrations add
, dotnet ef database update
через Powershell. Для подробного использования команд вы можете воспользоваться Средства командной строки EF Core .NET .
Как применить первые миграции кода базы данных в развернутом приложении Azure?
В моем понимании, вы не могли этого сделать. Возможно, вам придется вручную запустить update-database
, когда vivek nuna ответит в консоли диспетчера пакетов VS, или вы можете использовать Powershell и cd в каталоге вашего проекта и выполнить dotnet ef database update
, чтобы применить любые ожидающие миграции для вашего контекста к базе данных, затем разверните свое приложение в веб-приложении Azure.
Кроме того, EF не поддерживает автоматические миграции, вам может потребоваться вручную выполнить Add-Migration
или dotnet ef migrations add
для добавления файлов миграции. Вы можете явно выполнить команду для применения миграций, также вы можете применить миграции в своем коде. И вы можете добавить следующий код в Configure
метод Startup.cs
файла:
using (var scope = app.ApplicationServices.GetService<IServiceScopeFactory>().CreateScope())
{
scope.ServiceProvider.GetRequiredService<ApplicationDbContext>().Database.Migrate();
}
Более того, вы также можете подписаться на аналогичный выпуск .