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罚款...
答
我碰到这也是,虽然我测试VS 11和EF5,所以这可能并不适用于您。这可能是一些事情。
你必须按照下面的顺序来打开VS:
- 随着VS打开,关闭包管理器控制台
- 关闭VS
- 打开VS
- 打开项目
- 打开包管理器控制台
如果关闭VS,当包管理器控制台是开放的,它记住了这一点。然后,当你重新打开VS时,打开你的项目之前,软件包管理器控制台已经打开,它变得混乱。
另一种可能性是,您安装了其他EF软件包,不知道“添加迁移”,并且他们正在创建方法。
在包管理器控制台中运行“get-package”,查看安装的内容。删除不必要的/旧的东西。
答
有时会发生这种错误,当我们在默认打开的软件包管理器控制台(PMC)中复制和粘贴命令时,粘贴命令并尝试执行它时也会出现相同的错误,但是当我关闭PMC和VS时再次打开VS然后打开PMC,然后输入PMC命令,然后成功执行。
我相信他们发布了一个新版本的NuGet来解决这个问题。 – Betty 2012-01-16 07:42:15