Entity Framework 核心异常重命名专栏

Entity Framework Core exception renaming column

我有一个使用 Entity Framework Core 6.0.3 的 .Net6 WinForms 应用程序,我正在尝试从 SQL 服务器数据库读取一个简单的 table。我需要重命名该列,使其在模型中不同于在数据库中的名称。

通常(在 EF6 中,我会使用新名称在 属性 上添加一个 [Column()] 属性。但是,当我这样做时,它会引发读取数据 'Invalid column name' 的异常不管新名字是什么。

我也尝试过使用 modelBuilder 并调用 HasColumnName() 但得到了同样的错误。如果我删除 attribute/model 构建器引用,则不会发生异常,只是我仍然使用旧列名。

[Table("RefTable1")
public partial class SpecialReferenceTable
{
   public Int32 Id { get; set;}
   [MaxLength(300)]
   [Column("NewRefColumn"]   // Throws exception Column does not exist: NewRefColumn
   public String? OldRefColumn {get;set;}
}

我在 Core 中重命名列时是否遗漏了什么?

[Column("Column name")] 用于数据库中列的名称 table 而您拥有的 属性 的名称就是您要更改的名称。