Add-Migration:找不到与参数名称“Context”匹配的参数

ha3*_*a33 6 c# asp.net asp.net-mvc asp.net-core

   Add-Migration : A parameter cannot be found that matches parameter name 'Context'.
At line:1 char:15
+ Add-Migration -Context ManagementSystemContext
+               ~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Add-Migration], ParameterBindingException
    + FullyQualifiedErrorId : NamedParameterNotFound,Add-Migration
Run Code Online (Sandbox Code Playgroud)

我正在尝试将迁移添加到应用程序,但尽管使用此命令,我还是收到了此错误:

PM> Add-Migration -Context ManagementSystemContext
Run Code Online (Sandbox Code Playgroud)

我卸载了 EntityFrameWork.tools 然后重新安装它并重新启动 Visual Studio,但仍然出现相同的错误

小智 13

我也遇到了同样的问题,但我不明白这是什么。PC和VS重启2-3次后,执行相同的命令

Add-Migration NameOfTheMigration -Context MyContext
Run Code Online (Sandbox Code Playgroud)

它看起来像是

"if you are using EntityFramework or EntityFrameworkCore, make sure that you type EntityFramework\Add-Migration, or EntityFrameworkCore\Add-Migration".

我这样做了,迁移就开始了。

所以命令行看起来像这样:

EntityFrameworkCore\Add-Migration NameOfTheMigration -Context MyContext
Run Code Online (Sandbox Code Playgroud)

我猜测 EF 和 EFCore 都有,所以 PMC 很困惑。无论如何,这对我有用。


小智 0

在“Add-Migration”命令之后,EF 首先需要迁移的名称。您可以检查此文档代码示例,看看您是否做错了什么。您也可以尝试通过 .net core CLI 而不是 Package-Manager Console 来完成此操作,例如:

dotnet ef migrations add MigrationName --context ManagementSystemContext --output-dir Dir
Run Code Online (Sandbox Code Playgroud)

希望有帮助。