EF Data Migrations在关闭项目后不起作用

问题描述:

我正在使用实体框架数据迁移。如果我更改了有关实体或其他内容的某些内容,我尝试在程序包管理器控制台上使用“添加迁移MyFirstMigration”。但它返回一个例外:EF Data Migrations在关闭项目后不起作用

The term 'add-migration' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was inclu 
ded, verify that the path is correct and try again. 
At line:1 char:14 
+ add-migration <<<< 
+ CategoryInfo   : ObjectNotFound: (add-migration:String) [], CommandNotFoundException 
+ FullyQualifiedErrorId : CommandNotFoundException 

如果我来自的NuGet卸载EntityFramework.Migrations并重新安装它的工作有相同的代码(“附加迁移MyFirstMigration”,“更新数据库”),直到接近项目。

我该如何解决它?任何人遇到这种情况?

编辑:它适用于对了另一台PC罚款...

+0

我相信他们发布了一个新版本的NuGet来解决这个问题。 – Betty 2012-01-16 07:42:15

我碰到这也是,虽然我测试VS 11和EF5,所以这可能并不适用于您。这可能是一些事情。

你必须按照下面的顺序来打开VS:

  1. 随着VS打开,关闭包管理器控制台
  2. 关闭VS
  3. 打开VS
  4. 打开项目
  5. 打开包管理器控制台

如果关闭VS,当包管理器控制台是开放的,它记住了这一点。然后,当你重新打开VS时,打开你的项目之前,软件包管理器控制台已经打开,它变得混乱。


另一种可能性是,您安装了其他EF软件包,不知道“添加迁移”,并且他们正在创建方法。

在包管理器控制台中运行“get-package”,查看安装的内容。删除不必要的/旧的东西。

+1

如果有一个答案是最令人生气的,那就是“关闭然后重新开启”。但地狱,它的作品。谢谢! – viggity 2014-12-05 19:59:04

+0

现在已经处理了近3年。太令人沮丧了。 – RMD 2015-04-14 13:38:48

有时会发生这种错误,当我们在默认打开的软件包管理器控制台(PMC)中复制和粘贴命令时,粘贴命令并尝试执行它时也会出现相同的错误,但是当我关闭PMC和VS时再次打开VS然后打开PMC,然后输入PMC命令,然后成功执行。