Entity Framework 7 逆向工程不起作用

Entity Framework 7 Reverse Engineering doesn't work

我 运行宁 Visual Studio 2015 年 Windows 10。 这是我的 project.json 和 global.json

{
  "version": "1.0.0-*",
  "description": "Application.Data Class Library",
  "authors": [ "------" ],
  "tags": [ "" ],
  "projectUrl": "",
  "licenseUrl": "",

  "frameworks": {
    "dnx451": {
    }
  },
  "dependencies": {
    "EntityFramework.SqlServer": "7.0.0-rc1-15886",
    "EntityFramework.Commands": "7.0.0-rc1-15945",
    "EntityFramework.Core": "7.0.0-rc1-15945",
    "EntityFramework.SqlServer.Design": "7.0.0-rc1-15886"
  },

  "commands": {
    "ef": "EntityFramework.Commands"
  }  
}

{
  "projects": [ "Application.Data", "Application.WebApi" ],
  "sdk": {
    "version": "1.0.0-rc1-16048",
    "runtime": "clr",
    "architecture": "x86"
  }
}

当我 运行 dnx ef 时收到此消息错误

C:\Users\-------\Documents\Visual Studio 2015\Projects\Application\Application.Data>dnx ef --help
System.InvalidOperationException: No service for type 'Microsoft.Dnx.Runtime.IRuntimeEnvironment' has been registered.
   à Microsoft.Extensions.DependencyInjection.ServiceProviderExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
   à Microsoft.Extensions.DependencyInjection.ServiceProviderExtensions.GetRequiredService[T](IServiceProvider provider)
   à Microsoft.Data.Entity.Commands.Program..ctor(IServiceProvider dnxServices)

dnx 版本 rc1-16048 是最新的,但您使用的是旧版本的 EF(以及有冲突的版本)。还有,SqlServerhas been renamed to MicrosoftSqlServer. The latest versions as of this writing are:

"EntityFramework.Commands": "7.0.0-rc1-16147",
"EntityFramework.Core": "7.0.0-rc1-16147",
"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-16147",
"EntityFramework.MicrosoftSqlServer.Design": "7.0.0-rc1-16147"