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

use*_*872 13 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"
  }
Run Code Online (Sandbox Code Playgroud)

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

术语"启用 - 迁移"不会被识别为cmdlet的名称

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

Eli*_*ren 25

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

跑:

Install-Package Microsoft.EntityFrameworkCore.Tools –Pre
Run Code Online (Sandbox Code Playgroud)

在project.json中将此(如果不存在)添加到"tools"部分:

"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview4-final",
Run Code Online (Sandbox Code Playgroud)

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

  • 这最终对我有用.我不得不重新启动VS并删除我的`project.lock.json`文件. (3认同)

nat*_*ter 6

正如ErikEJ所说,没有"启用迁移".您将需要使用"添加迁移".请参阅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


mon*_*res 5

使用最新的EF Core和VS 2015设法获得EntityFrameworkCore.Tools(包括Add-Migration)的唯一方法是从Package Manager Console手动调用init脚本,如下所示:

PM> %UserProfile%\.nuget\packages\Microsoft.EntityFrameworkCore.Tools\1.0.0-preview1-final\tools\init.ps1
Run Code Online (Sandbox Code Playgroud)


use*_*872 0

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

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