Enable-Migrations -ContextTypeName错误:找不到参数

时间:2012-10-19 10:10:32

标签: c# .net asp.net-mvc visual-studio-2010 asp.net-mvc-4

我正在按照本教程练习MVC-4:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-new-field-to-the-movie-model-and-table

我没有做同样的例子。我只是用它来作为尝试我自己的东西的指南。

我遇到过这个问题:

打开包管理器控制台后

尝试为我的上下文启用迁移后出现以下错误:

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

任何想法如何解决这个问题?

10 个答案:

答案 0 :(得分:2)

对于那些可能在未来遇到同样问题的人。 我已经通过使用不带-ContextTypeName的Enable-Migrations来解决它。

答案 1 :(得分:2)

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

答案 2 :(得分:2)

我遇到了同样的问题,但是通过在Nuget Package Manager控制台的下拉菜单中选择项目然后删除完全限定的路径来实现它,所以:

PM> Enable-Migrations -ContextTypeName ApplicationDbContext

答案 3 :(得分:1)

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

MvcMovie更改为MvcYourApplicationName。

答案 4 :(得分:0)

  

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

在我看来,您使用的是较旧版本的Entity Framework(4.3?),但没有实现该参数。适用于我和我使用EF 5。

PM&GT; enable-migrations -contexttypename test3.Models.UsersContext 检查上下文是否以现有数据库为目标... 为项目test3启用了代码优先迁移。

答案 5 :(得分:0)

在处理&#34;快速和肮脏的&#34;时,我遇到了同样的错误。 ASP.net 网站

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

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

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

  • 工作
  • 它更干净

我不知道MVC 4会出现什么问题,但我的经验可以帮助另一位Web Form开发人员......

答案 6 :(得分:0)

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

语法是

启用 - 迁移--ContextTypeName NameOfYourDataContextType

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

所以你输入的内容如下所示:

enter image description here

或使用显示的现有内容:

enter image description here

这将是

启用 - 迁移--ContextTypeName MvcApplication4.Models.MvcApplication4Context

启用 - 迁移-ContextTypeName MvcApplication4.Models.ExternalLogin

语法:启用 - 迁移仅在项目中只有一个上下文时才有效。

this tutorial

时遇到此问题

答案 7 :(得分:0)

Update-Database:找不到与参数名称“ ConfigurationTypeName”匹配的参数。 在第1行:char:17

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

答案 8 :(得分:0)

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

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

答案 9 :(得分:0)

当我删除 Z.EntityFramework.Plus.EFCore 包时问题就解决了