1

我正在按照本教程练习 MVC-4:http ://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-new-field-to-the -电影模型和表格

我没有做同样的例子。我只是把它作为一个指导来尝试我自己的东西。

我遇到了这个问题:

打开包管理器控制台后

尝试为我的上下文启用迁移后,我收到以下错误:

PM> Enable-Migrations -ContextTypeName MvcAuction.Models.AuctionDBContext
Enable-Migrations : A parameter cannot be found that matches parameter name 'ContextTypeName'.
At line:1 char:35
+ Enable-Migrations -ContextTypeName <<<<  MvcAuction.Models.AuctionDBContext
    + CategoryInfo          : InvalidArgument: (:) [Enable-Migrations], ParameterBindingException
    + FullyQualifiedErrorId : NamedParameterNotFound,Enable-Migrations

任何想法如何解决?

4

11 回答 11

3

更新数据库:找不到与参数名称“ConfigurationTypeName”匹配的参数。在行:1 字符:17

参数名称不匹配的此类错误表明该命令的版本不支持该参数。这可能是由于 VS 项目上安装的 EF 工具的版本。就我而言,我有 2 个项目,一个安装了 EF 6.x,另一个安装了 EF Core,显然 EF Core 优先,所以在使用 EF 6.XI 时必须使用 EntityFramework\Update-Database 和 EntityFrameworkCore\Update-Database。

于 2019-06-08T20:12:36.323 回答
2

我也有同样的问题。我通过 NuGet 将 EntityFramework 升级到版本 5.0.0 来修复它。如果您遇到 EntityFramework.5.0.0 问题,请尝试重新安装。

于 2013-03-12T09:05:55.963 回答
2

对于那些将来可能会遇到同样问题的人。我已经通过仅使用没有 -ContextTypeName 的 Enable-Migrations 解决了它。

于 2012-10-22T07:07:44.320 回答
2

我遇到了同样的问题,但通过在 Nuget 包管理器控制台的下拉菜单中选择项目,然后删除完全限定的路径,让它工作,所以:

PM> Enable-Migrations -ContextTypeName ApplicationDbContext
于 2018-02-23T14:03:44.887 回答
1

“启用迁移-ContextTypeName MvcMovie.Models.MovieDBContext”

MvcMovie 更改为 MvcYourApplicationName。

于 2013-07-03T06:49:23.413 回答
0

在“快速而肮脏”的 ASP.net网站上工作时,我遇到了同样的错误。

在 ASP.Net 网站中,非页面类放在 App_code 目录中。它们被编译成一个单独的程序集。

可能是包管理器没有管理(!)在这个“App_Code”程序集中找到上下文类型名称(错误消息看起来很奇怪)。

我通过将模型和上下文类移动到另一个类库项目中解决了这个问题。

  • 有效
  • 干净多了

我不知道 MVC 4 可能有什么问题,但我的经验可以帮助另一个 Web 表单开发人员......

于 2015-03-15T17:37:41.070 回答
0

找不到与参数名称“ContextTypeName”匹配的参数。

在我看来,您使用的是旧版本的实体框架(4.3?),它没有实现该参数。为我工作,我使用 EF 5。

PM> enable-migrations -contexttypename test3.Models.UsersContext 检查上下文是否针对现有数据库...为项目 test3 启用代码优先迁移。

于 2012-11-18T22:49:57.723 回答
0

编辑:似乎上下文类型可能不存在或未放置在模型命名空间下。

语法是

Enable-Migrations -ContextTypeName NameOfYourDataContextType

NameOfYourDataContextType 是您在添加控制器时添加的上下文。

所以你输入如下所示的整体:

在此处输入图像描述

或使用显示的现有:

在此处输入图像描述

这将是

Enable-Migrations -ContextTypeName MvcApplication4.Models.MvcApplication4Context

Enable-Migrations -ContextTypeName MvcApplication4.Models.ExternalLogin

语法 : Enable-Migrations 仅在您的项目中只有一个上下文时才有效。

在学习本教程时遇到了这个问题

于 2015-04-21T07:42:21.263 回答
0

当我删除 Z.EntityFramework.Plus.EFCore 包问题得到解决

于 2021-04-01T15:43:39.103 回答
0

对于尝试其他解决方案后仍在苦苦挣扎的任何人。

在浪费了 2 个小时尝试重新启动 VS、更新 VS 并重新启动我的 PC 之后。我终于通过更改我的 git 分支然后添加迁移解决了这个问题。

于 2020-12-28T18:17:51.260 回答
0

Enable Migrations 现在已过时,您可以像这样添加:
EntityFrameworkCore\Add-Migration yourMessageHere -Context AppContext

于 2021-10-01T10:24:33.357 回答