【发布时间】:2022-07-19 18:22:14
【问题描述】:
我使用 .NET 6 和 EF Core 6 创建了一个新项目,但是当我尝试使用 dotnet ef migrations add 创建迁移时,CLI 在“构建成功”后开始运行应用程序。
这不会阻止创建迁移,但会增加进程的大量时间,因为我需要等待应用程序退出,然后再发出任何其他命令。
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
【问题讨论】:
-
是的,抱歉,我使用的是 EF Core 6,我会更新问题
-
你在NET6项目中使用minimal API吗?
-
@IvanStoev 不,我正在使用完整的控制器
标签: c# entity-framework-migrations .net-6.0 asp.net-core-6.0 ef-core-6.0