为什么应用程序以 dotnet ef migrations add 开始?

Why does application start start with dotnet ef migrations add?

我在 VS2019 的开发人员 PowerShell 中使用我的 EF Core 工具时出现奇怪的行为。

我正在使用此命令创建迁移:

dotnet ef migrations add VisibleLink3 -p .\src\Only.Portal.Data\ -s .\src\Only.Portal.Web

它正在启动我的应用程序,但以前没有。应用上次迁移的方法。这导致dotnet ef migrations remove完全崩溃,因为使用它时,它首先启动应用程序和Migrate()

然后我收到一条消息:

The migration '20220128090939_VisibleLink3' has already been applied to the database. Revert it and try again. If the migration has been applied to other databases, consider reverting its changes using a new migration instead

看起来像死胡同。

基本上它是在告诉您您要删除的迁移已经应用到您的本地数据库,因此它不会删除它,您需要 运行

dotnet ef database update previous-migration-id

那么你可以运行

dotnet ef migration remove

根据@frogerdevs帮助。需要实施:

Use Startup with the new minimal hosting mode

来自 Microsoft 迁移到 .NET 6.0 的文章:

https://docs.microsoft.com/en-us/aspnet/core/migration/50-to-60?view=aspnetcore-6.0&tabs=visual-studio