我正在努力弄清楚如何从NuGet的包管理器中运行特定的迁移。
我尝试运行了以下命令:
update-database -TargetMigration test32
但我确实收到了这个消息:
这个问题怎么解决?找不到与参数名 'TargetMigration' 匹配的参数。
我正在努力弄清楚如何从NuGet的包管理器中运行特定的迁移。
我尝试运行了以下命令:
update-database -TargetMigration test32
这个问题怎么解决?找不到与参数名 'TargetMigration' 匹配的参数。
-Target
(适用于EF Core 1.1)或-Migration
(适用于EF Core 2.0)。update-database -target test32
或者update-database -migration test32
"现代"的方式是使用"常规"命令提示符和.NET Core CLI,并且使用像dotnet ef database update <target>
这样的命令。
Dmitry 给出的最佳答案略有不正确。
没有参数-Target
。唯一可用的参数是-Migration
。
因此,正确的答案是:
Update-Database -Migration test32
test32
),这通常是您想要的,因为迁移可能相互依赖并且必须按顺序运行。 - Alexei - check Codidact通过包管理器控制台安装 EF Core 3.1:
dotnet ef database update YourMigrationName
想要补充一下Plastiquewind提到的内容。 在当前版本中,没有目标参数。 您必须使用-migration。 此外,您可以使用-context参数指定上下文(如果您有多个)。
Update-database -context MyContext -migration MyMigration
对于Mac,我是这样操作的,这对我很有效。
dotnet ef database update -c ApplicationDbContext