【发布时间】:2023-02-08 22:17:17
【问题描述】:
我正在尝试对多个 DBContext 之一执行合并或合并迁移。 我们有一个使用多个数据库的 .NET 6 解决方案。所有数据库上下文都在单独的文件夹中的单个项目中定义。 IE。
Solution\
- Business_Logic_Project_1\
- Business_Logic_Project_2\
- Business_Logic_Project_3\
- Database_Project\
- Context1\
- Migrations\
- Models\
- Context1.cs
- Context2\
- Migrations\
- Models\
- Context2.cs
- Context3\
- Migrations\
- Models\
- Context3.cs
- Database_Project.csproj
- Startup_Project
- Startup_Project.csproj
- Solution.sln
我执行以下操作:
我打开命令提示符并转到解决方案的根目录。
然后我删除了 Database_Project\Context2\Migrations 中的所有迁移。
然后我执行这个命令:
dotnet ef migrations add <<MIGRATION_NAME>> --context Context2 --project Database_Project --startup-project Startup_Project --output-dir Context2\Migrations
我清空数据库中的 __EFMigrationsHistory 表。 最后,我运行此命令来完成整合:
dotnet ef database update <<MIGRATION_NAME>> --context Context2 --project Database_Project --startup-project Startup_Project
失败并显示错误消息:The migration '<<MIGRATION_NAME>>' was not found.
所以我思考这是因为迁移被放置在上下文文件夹下,数据库更新命令看起来不那么深。似乎没有办法告诉命令在哪里寻找迁移,那么该怎么办呢?
【问题讨论】:
标签: entity-framework-core entity-framework-migrations