EF7:术语“添加 - 迁移”'不被识别为cmdlet的名称

时间:2016-02-01 21:06:36

标签: entity-framework entity-framework-core

我将框架版本设置为:project.json中的dnx46。 还有以下包裹:

  "dependencies": {
    "EntityFramework.Commands": "7.0.0-rc1-final",
    "EntityFramework.Core": "7.0.0-rc1-final",
    "EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
    "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-rc1-final"
  }

然而,当我开始运行enable-migrations命令时,我得到以下内容:

术语' enable-migrations'不被识别为cmdlet的名称

有谁知道我如何在最新的.NET中运行EF迁移?

6 个答案:

答案 0 :(得分:25)

这对我解决这个问题很有用:

执行命令

Install-Package Microsoft.EntityFrameworkCore.Tools –Pre

在project.json中将这个(如果不存在)添加到"工具"部分:

"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview4-final",

有用的参考:https://docs.efproject.net/en/latest/platforms/aspnetcore/new-db.html

答案 1 :(得分:6)

作为ErikEJ mentioned,没有“启用迁移”。您将需要使用“添加迁移”。请参阅此处的EF Core的Powershell命令的官方文档:http://docs.efproject.net/en/latest/cli/powershell.html

在某些版本的Visual Studio中,NuGet和程序包管理器控制台中似乎存在错误。如果在添加Commands包后无法识别cmdlet,请尝试重新启动VS。

此外,RC1后不支持dnx命令。新的(即将推出的)dotnet工具将可用于RC2。见https://github.com/aspnet/EntityFramework/issues/3925

答案 2 :(得分:5)

我设法获得EntityFrameworkCore.Tools(包括Add-Migration)的唯一方法是使用最新的EF Core& VS 2015是从包管理器控制台手动调用init脚本,如下所示:

PM> %UserProfile%\.nuget\packages\Microsoft.EntityFrameworkCore.Tools\1.0.0-preview1-final\tools\init.ps1

答案 3 :(得分:1)

要在EF7中添加新迁移,请使用以下命令:

dnx ef migrations add YourMigrationUniqueName

答案 4 :(得分:0)

EF Core(EF7)中没有“enable-migrations”命令。

只需使用“add-Migration”

即可

答案 5 :(得分:0)

目前不支持开箱即用的EF迁移:

https://github.com/aspnet/EntityFramework/issues/4497