EntityFramework 核心数据库优先,Scaffold-DbContext 找不到接受参数“--use-database-names”错误的位置参数

EntityFramework Core database first, Scaffold-DbContext A positional parameter cannot be found that accepts argument '--use-database-names' error

我正在尝试使用 EntityFramework 核心数据库优先方法从现有数据库创建模型。模型已创建,但 table 名称和列名称已更改为 C# 样式。因为我希望模型仍然使用与数据库中相同的 table 名称和列名,所以我根据 Entity Framework Core tools reference[=15 在命令行中附加了“--use-database-names” =]

以下是在程序包管理器控制台中执行的命令:

Scaffold-DbContext "Server=aServer;Database=someDb;Trusted_Connection=True" Microsoft.EntityFrameworkCore.SqlServer -o Models --use-database-names

但是我得到了以下错误:

Scaffold-DbContext : A positional parameter cannot be found that accepts argument '--use-database-names'. At line:1 char:1

  • Scaffold-DbContext "Server=aServer;Database=someDb;Trusted_Conn ...
  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    • CategoryInfo : InvalidArgument: (:) [Scaffold-DbContext], ParameterBindingException
    • FullyQualifiedErrorId : PositionalParameterNotFound,Scaffold-DbContext

有人遇到过这个问题吗?我错过了什么?提前致谢!

以下是简单项目的一些基本信息。

IDE: Visual Studio 2017

目标框架:.NET Core 2.1

已安装的 NuGet 包:

Microsoft.EntityFrameworkCore.Design(2.2.0)
Microsoft.EntityFrameworkCore.SqlServer(2.2.0)
Microsoft.EntityFrameworkCore.Tools(2.2.0)
Microsoft.EntityFrameworkCore.SqlServer.Design(1.1.6)

就像在 reference 中提到的包管理器控制台一样,你必须写:

-UseDatabaseNames

没有

—use-database-names