启用迁移在ASP MVC 5中不起作用

时间:2017-08-03 11:23:15

标签: asp.net-mvc visual-studio entity-framework

我正在尝试在我的项目中启用迁移,但我总是收到此错误:

  

在装配'CarManagement'中找到了多个上下文类型   要启用“CarManagement.Models.CarManagementContext”的迁移,请使用“启用 - 迁移”

     

-ContextTypeName CarManagement.Models.CarManagementContext。

     

要启用“CarManagement.Models.ApplicationDbContext”的迁移,请使用

Enable-Migrations -ContextTypeName CarManagement.Models.ApplicationDbContext

当我尝试只使用一个上下文时,它也不起作用,并出现此错误:

  

启用 - 迁移:找不到接受参数'CarManagement.Models.CarManagementContext。'的位置参数。   在行:1 char:1
  + Enable-Migrations -ContextTypeName eManager CarManagement.Models.CarM ...   + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~       + CategoryInfo:InvalidArgument:(:) [Enable-Migrations],ParameterBindingException       + FullyQualifiedErrorId:PositionalParameterNotFound,Enable-Migrations

screeshot of PM

2 个答案:

答案 0 :(得分:1)

当我尝试使用Add-Migration添加迁移时,遇到了相同的错误。

enter image description here

问题是,因为我有多个DBContext,所以我必须指定要使用哪个。我们可以为PowerShell命令使用'-Context'参数,也可以为dotnet命令使用'--context'参数。

在包管理器控制台中运行命令时,我在命令中使用--context而不是-Context

Add-Migration "AddNameColumnFavorites" --context LearnraumDatabaseCon

要解决此问题,我必须像以前一样更改命令。

Add-Migration -Context LearnraumDatabaseContext "AddNameColumnFavorites" 

希望有帮助。

答案 1 :(得分:0)

您在命令末尾键入了一个点。试试吧:

Enable-Migrations -ContextTypeName CarManagement.Models.ApplicationDbContext