如何将其中包含空格的列名称映射到 POCO 属性?

How to map a column name with spaces in it to a POCO property?

我正在处理数据库 table,它的列名中有一个 space,例如 "Level Description".

我无法更改列名。现在我有这个 table 的 Entity Framework 模型 class 并且编译器抱怨这个 属性,因为 属性 名称不能包含 spaces!

如何在 class 中定义带有 space 的列?

[Table("StudyLevel")]
public class StudyLevelModel
{
    [Key]
    public byte StudyLevelID { get; set; } 

    // How to map this to the column "Level Description"?
    public string Level Description { get; set; }

    public string SLevelType { get; set; }
    public Nullable<bool> IsActive { get; set; }
    public string ESID { get; set; }
    public string RID { get; set; }
    public byte LevelSearchGroup { get; set; }
}

使用ColumnAttribute设置名称:

 [Column(Name="Level Description")]
 public string LevelDescription { get; set; }

没有让您的模型属性名称与您的table列名称完全匹配;您可以应用 [Column] 属性将 属性 映射到列:

[Table("StudyLevel")]
public class StudyLevelModel
{
    [Key]
    public byte StudyLevelID { get; set; } 
    [Column("Level Description")]
    public string LevelDescription { get; set; }
    public string SLevelType { get; set; }
    public Nullable<bool> IsActive { get; set; }
    public string ESID { get; set; }
    public string RID { get; set; }
    public byte LevelSearchGroup { get; set; }
}