无法运行启用迁移VS2013 SP4

时间:2014-12-01 17:19:47

标签: c# asp.net-mvc entity-framework nuget ef-migrations

我正在使用VS2013 Community Edition SP4创建一个MVC 5网站。它使用EntityFramework v6我试图通过添加一个辅助表来保存其他数据来扩展默认的AspNetUsers数据库,但是当我尝试运行Enable-Migration时,我收到此错误:

Enable-Migration : The term 'Enable-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 included, verify that the path is correct and try again.
At line:1 char:1
+ Enable-Migration
+ ~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Enable-Migration:String) [], 
                              CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

我尝试了Google搜索建议的以下补救措施:

  • 打开解决方案
  • 清洁和重建解决方案
  • 重启VS2013
  • 删除并重新安装NuGet
  • 运行Install-Package EntityFramework -IncludePrerelease命令
  • 确保VS2013以管理员身份运行

我还能尝试别的吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

正确的字词为enable-migrations

这里有一些其他有用的信息副本,这些信息是从我给同一个问题的答案中粘贴的。

add-migration InitialCreate

这会创建一个迁移。 InitialCreate实际上是一个字符串,您可以将其更改为您想要的任何内容。此命令将生成从strach创建数据库所需的脚本。

update-database

此命令验证数据库并应用迁移(或迁移 - 可能有多个)以使数据库保持最新。

这是初始设置。如果您对第一个代码的第一个类进行进一步更改,或者添加更多,则只需添加一个新的迁移,然后执行它。

add-migration AddedFirstName
update-database

就这么简单!

还有一些更高级的概念,如种子,回滚,特定迁移的更新等,但我上面输入的内容涵盖了迁移的基础知识和日常使用。

我建议你阅读这篇文章,它更详细地解释了所有内容:http://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/migrations-and-deployment-with-the-entity-framework-in-an-asp-net-mvc-application