Come mappare il nome di una colonna con spazi in essa contenuti in una proprietà POCO?

Sto lavorando sulla tabella del database che ha un nome di colonna con uno spazio al suo interno, ad esempio “Descrizione del livello”.

Non riesco a cambiare il nome della colonna. Ora ho una class modello Entity Framework per questa tabella e il compilatore si lamenta di questa proprietà, perché i nomi delle proprietà non possono contenere spazi!

Come posso definire la colonna con lo spazio nella mia class?

[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 IsActive { get; set; } public string ESID { get; set; } public string RID { get; set; } public byte LevelSearchGroup { get; set; } } 

Non è necessario che i nomi delle proprietà del modello corrispondano esattamente ai nomi delle colonne della tabella; c’è un attributo [Column] che puoi applicare per mappare una proprietà alla colonna:

 [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 IsActive { get; set; } public string ESID { get; set; } public string RID { get; set; } public byte LevelSearchGroup { get; set; } } 

Usa il ColumnAttribute per impostare il nome:

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