添加迁移:找不到与参数名称"上下文"匹配的参数


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

我正试图将迁移添加到应用程序,但尽管使用了以下命令,我还是遇到了这个错误:

PM> Add-Migration -Context ManagementSystemContext

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

我遇到了同样的问题,我无法意识到它是什么。在电脑和VS重新启动2-3次后,使相同的命令

Add-Migration NameOfTheMigration -Context MyContext

它出现在的行中

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

我做到了,迁移开始了。

所以命令行看起来是这样的:

EntityFrameworkCoreAdd-Migration NameOfTheMigration -Context MyContext

我猜EF和EFCore都有,所以PMC很困惑。不管怎样,这对我来说是有效的。

在"添加迁移";命令EF首先需要迁移的名称。您可以查看此文档和代码示例,看看您是否做错了什么。您也可以尝试通过.net core CLI而不是Package Manager控制台来完成此操作,例如:

dotnet ef migrations add MigrationName --context ManagementSystemContext --output-dir Dir

希望能有所帮助。

如果您的项目有两个上下文以及多启动。您必须执行以下步骤:

1-首先,将项目从多启动模式中取出,并将项目启动设置为您想要的启动。

  1. 然后在Package Manger控制台部分,键入以下命令:

    添加迁移-上下文上下文名称

注意:包管理器控制台中的默认Project必须设置为DataAccess类库

我在尝试对EF6运行此程序时遇到了同样的问题,但使用了EF Core的参数。Context不是EF6的有效参数。有关可用参数的详细信息,请参阅我对另一个问题的回答。

最新更新