数据库脚手架在 .Net Core 1.1 中停止工作

Database scaffolding stopped working in .Net Core 1.1

我们将 .Net Core 1.0 项目升级到 .Net Core 1.1,并意识到我们不能再在 EF Core 中搭建数据库。这是 project.json 文件:

 {
  "version": "1.0.0-*",
  "buildOptions": {
    "emitEntryPoint": true
  },

  "dependencies": {
    "Microsoft.EntityFrameworkCore.Design": "1.1.0",
    "Microsoft.EntityFrameworkCore.SqlServer": "1.1.0",
    "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0",
    "Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final",
    "Microsoft.NETCore.App": {
      "type": "platform",
      "version": "1.1.0"
    }
  },
  "tools": {
    "Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final",
    "Microsoft.EntityFrameworkCore.Tools.DotNet": "1.1.0-preview4-final",
    "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final"
  },
  "frameworks": {
    "netcoreapp1.1": {
      "imports": "dnxcore50"
    }
  }
}

当以下命令在 PM 控制台中为 运行 时,会生成以下错误消息:Unrecognized option '--build-base-path'

Scaffold-DbContext "Server=(localdb)\ProjectsV13;Database=MyDatabase;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

谷歌搜索没有定论。有任何解决方法或解决方法吗?

对于 .NET Core 1.1,您必须在命令行上执行此操作。有关文档,请参阅以下 link:

https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/dotnet

我还有一个问题,我的 PATH 不正确。我不得不添加 C:\Program Files\dotnet\bin 因为它丢失了。

在命令行中,转到您的项目目录并输入

dotnet ef dbcontext scaffold "Server=<Your Server>;Database=<Your Database>;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer --output-dir <Your path for the model classes> --force

瞧,一秒钟后生成了源...

希望对您有所帮助
克劳斯