EF Core领域模型名与表名不一致时的映射配置方法
解决EF领域模型与数据库表名不匹配的问题
你可以通过DataAnnotations特性直接装饰QualificationDM类,明确指定它对应的数据库表名:
- 引用
System.ComponentModel.DataAnnotations.Schema命名空间 - 在类上添加
[Table]特性并传入目标表名
示例代码:
using System.ComponentModel.DataAnnotations.Schema; [Table("Qualification")] public class QualificationDM { // 模型属性定义 public int Id { get; set; } // 其他业务属性及导航属性... }
配置完成后,EF生成SQL时会自动使用Qualification作为表名,而非默认的类名QualificationDM。
如果更倾向于代码集中配置(作为补充方案),也可以在DbContext的OnModelCreating方法里通过Fluent API设置映射:
protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity<QualificationDM>() .ToTable("Qualification"); }
内容的提问来源于stack exchange,提问作者Roto
相关产品推荐
相关产品推荐

