对于现有的数据库和现有的代码,在从。net core 3升级之后。x到。net 5,所有从下面命令映射的类都变成单数,例如books ->书:
C:myproject>dotnet ef dbcontext scaffold connectionstr Microsoft.EntityFrameworkCore.SqlServer -f -o .DataModelsApplicationData
版本信息:
C:myproject>dotnet --version
5.0.303
C:myproject>dotnet ef --version
Entity Framework Core .NET Command Line Tools
2.0.3-rtm-10026
我也用了——use-database-names,似乎没有效果。另外,我对EF生成的列名很满意:)。但是我怎样才能保留班名后面的s/ies呢?
更新:我通过发出以下命令更新了CLI工具:
dotnet tool update—global dotnet-ef—version 5.0
更新成功。它仍然是同一个版本2.0.3-rtm-10026。命令列表也一样。
TIA
我知道这不是最好的方式,但是有一个发布的方式。我把三个EF包(.design,sqlserver和tools)从5.0.15降级到3.1.24,这就暂时解决了问题。
你可以使用——no-pluralize选项。
参考:https://learn.microsoft.com/en - us/ef/core/what - new/ef核心- 5.0 -/-破坏-更改