升级.NET 5后EF Core脚手架类名单数化,如何保留原有复数类名格式
.NET 5 环境下恢复EF Core脚手架生成复数形式实体类名的配置
行为变更说明
EF Core 5.0调整了Scaffold逆向工程的默认逻辑:默认开启自动单复数映射规则,会自动将数据库中的复数表名转换为单数形式的实体类名,和旧版本直接按表名格式(首字母大写)生成实体类的规则不一致,是升级后实体类名变为
Producto、Parametro的核心原因。
操作方法
- 在原有脚手架命令末尾追加原生参数
--no-pluralize,完整命令格式:dotnet ef dbcontext scaffold "你的数据库连接字符串" "Pomelo.EntityFrameworkCore.MySql" -o dbFacturacion -f --no-pluralize - 该参数会关闭逆向流程中的自动单复数转换逻辑,执行后生成结果和升级前完全一致:
- 数据库表
productos对应生成实体类Productos - 数据库表
parametros对应生成实体类Parametros
- 数据库表
- 长期使用可将该参数纳入团队统一的scaffold执行规范,避免漏加参数导致生成结果不符合预期。
内容的提问来源于stack exchange,提问作者DanielRamiz
相关产品推荐
相关产品推荐

