EntityFramework Core 数据库首先,Scaffold-DbContext 无法找到接受参数 '--use-database-names' 错误的位置参数

wlt*_*ltz 3 scaffold database-first entity-framework-core .net-core

我正在尝试使用 EntityFramework Core(数据库优先方法)从现有数据库创建模型。模型已创建,但表名和列名更改为 C# 风格。因为我希望模型仍然使用数据库中的精确表名和列名,所以根据Entity Framework Core 工具参考,我在命令行中附加了“--use-database-names”

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

Scaffold-DbContext "Server=aServer;Database=someDb;Trusted_Connection=True" Microsoft.EntityFrameworkCore.SqlServer -o Models --use-database-names
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

Scaffold-DbContext:找不到接受参数“--use-database-names”的位置参数。行:1 字符:1

  • Scaffold-DbContext“服务器=aServer;数据库=someDb;Trusted_Conn ...
  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
    • CategoryInfo:InvalidArgument:(:) [Scaffold-DbContext],ParameterBindingException
    • FullQualifiedErrorId:PositionalParameterNotFound,Scaffold-DbContext

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

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

集成开发环境: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)
Run Code Online (Sandbox Code Playgroud)

Nik*_*aus 6

就像在参考包管理器控制台中提到的那样,您必须编写:

\n\n
-UseDatabaseNames\n
Run Code Online (Sandbox Code Playgroud)\n\n

不是

\n\n
\xe2\x80\x94use-database-names\n
Run Code Online (Sandbox Code Playgroud)\n