【问题标题】:EntityFramework Core database first, Scaffold-DbContext A positional parameter cannot be found that accepts argument '--use-database-names' errorEntityFramework Core database first, Scaffold-DbContext A positional parameter cannot be found that accept argument '--use-database-names' 错误
【发布时间】:2019-05-08 16:09:14
【问题描述】:

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

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

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

但我收到以下错误:

Scaffold-DbContext:找不到接受参数“--use-database-names”的位置参数。 在 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)

【问题讨论】:

  • 您链接到的工具参考描述了 .netCore cli 的使用。您提到过,您使用包管理器控制台。某些参数在 PMC 中的写法与在 Cli 中的写法不同。
  • @Nikolaus 你说得对,我的朋友。谢谢!
  • 接受的答案会很好。 ;-)

标签: .net-core entity-framework-core scaffold database-first


【解决方案1】:

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

-UseDatabaseNames

不是

—use-database-names

【讨论】:

    猜你喜欢
    • 2018-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 2022-12-17
    • 2021-10-29
    • 1970-01-01
    相关资源
    最近更新 更多