小编Nic*_*ell的帖子

为什么“dotnet ef migrations add”会启动我的应用程序?

我已经使用 .NET 6 和 EF Core 6 创建了一个新项目,但是当我尝试使用 创建迁移时dotnet ef migrations add,CLI 在“构建成功”后开始运行应用程序。

这不会阻止创建迁移,但会增加该过程的大量时间,因为我需要等待应用程序退出才能发出任何其他命令。

dotnet ef 迁移的片段添加输出:

dotnet ef 迁移的片段添加输出

在同一解决方案中,我还有许多其他使用 .NET 5 和 EF Core 5 的项目,它们都按预期创建迁移(仅构建项目,不运行它)。

这是 EF Core 6 的新功能吗?或者是否有某个配置会导致此行为?

编辑

问题似乎是 EF Core 在迁移创建期间忽略了 IDesignTimeDbContext 工厂的实现,而是默认从主机构建器获取 DbContext 的实例。显然 EF Core 5 也可能发生这种情况。

dotnet/efcore github 上有一个未解决的问题:Migrations script not using IDesignTimeDbContextFactory

c# entity-framework-migrations asp.net-core-6.0 .net-6.0 ef-core-6.0

13
推荐指数
2
解决办法
2711
查看次数