启用迁移在 ASP MVC 5 中不起作用
Posted
技术标签:
【中文标题】启用迁移在 ASP MVC 5 中不起作用【英文标题】:Enable Migrations doesn't work in ASP MVC 5 【发布时间】:2018-01-10 23:22:00 【问题描述】:我正在尝试在我的项目中启用迁移,但我总是收到此错误:
在程序集“CarManagement”中发现了多个上下文类型。 要为“CarManagement.Models.CarManagementContext”启用迁移,请使用 Enable-Migrations
-ContextTypeName CarManagement.Models.CarManagementContext.
要为“CarManagement.Models.ApplicationDbContext”启用迁移,请使用
Enable-Migrations -ContextTypeName CarManagement.Models.ApplicationDbContext
当我尝试只使用一个上下文时,它也不起作用并出现此错误:
Enable-Migrations:找不到接受参数“CarManagement.Models.CarManagementContext.”的位置参数。 在 line:1 char:1
Enable-Migrations -ContextTypeName eManager CarManagement.Models.CarM ...+ CategoryInfo : InvalidArgument: (:) [Enable-Migrations], ParameterBindingException + FullyQualifiedErrorId : PositionalParameterNotFound,Enable-Migrations
【问题讨论】:
显示你的整个命令行。我认为您在其中某个地方有一个流氓“eManager”。 PM> Enable-Migrations 在程序集“CarManagement”中发现了多个上下文类型。要为“CarManagement.Models.CarManagementContext”启用迁移,请使用 Enable-Migrations -ContextTypeName CarManagement.Models.CarManagementContext。要为“CarManagement.Models.ApplicationDbContext”启用迁移,请使用 Enable-Migrations -ContextTypeName CarManagement.Models.ApplicationDbContext。 PM> Enable-Migrations -ContextTypeName eManager CarManagement.Models.CarManagementContext。 Enable-Migrations : 找不到接受........的位置参数。 是的,这并没有真正的帮助。无论如何,从中删除“eManager”。 对不起,我试着截图,也许你会更清楚,你说的eManager是什么意思?我怎样才能删除它? 您正在使用命令行Enable-Migrations -ContextTypeName eManager CarManagement.Models.CarManagementContext
。从中删除“eManager”。我不知道它来自哪里,但你已经输入了。
【参考方案1】:
我在尝试使用 Add-Migration
添加迁移时遇到了同样的错误。
问题是,因为我有不止一个DBContext
,我必须指定使用哪一个。我们可以将“-Context”参数用于PowerShell
命令,也可以将“--context”参数用于dotnet
命令。
我在命令中使用--context
而不是-Context
,因为我在包管理器控制台中运行命令。
Add-Migration "AddNameColumnFavorites" --context LearnraumDatabaseCon
要解决这个问题,我必须像前面那样更改命令。
Add-Migration -Context LearnraumDatabaseContext "AddNameColumnFavorites"
希望对你有帮助。
【讨论】:
【参考方案2】:您在命令末尾键入一个点。试试吧:
Enable-Migrations -ContextTypeName CarManagement.Models.ApplicationDbContext
【讨论】:
以上是关于启用迁移在 ASP MVC 5 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
下拉列表的 jQuery 在布局 ASP.NET MVC 5 中不起作用
使用 System.IdentityModel.Tokens.Jwt 从 1.1 迁移到 2.0 后,JWTAuthentication 在 asp.net core 2.0 中不起作用 - 5.1.
客户端验证在带有 Bootstrap 的 ASP.NET MVC5 中不起作用