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

时间:2015-01-20 15:52:08

标签: c# entity-framework

我正在处理数据库表,其中包含一个带有空格的列名,例如“Level Description”。

我无法更改列名。现在我有一个这个表的实体框架模型类,编译器抱怨这个属性,因为属性名称不能包含空格!

如何在班级中定义带空格的列?

[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; }
}

2 个答案:

答案 0 :(得分:8)

您没有 让您的模型属性名称与您的表列名称完全匹配;您可以应用[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; }
}

答案 1 :(得分:4)

使用ColumnAttribute设置名称:

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