我正在将数据从SQL数据库映射到c#中的对象。问题是,其中一列不幸被命名为“100_hrs”。因此,当我创建C#对象时,声明中出现错误:
public float 100_hrs {get; set;}
我尝试在前面使用@
,但它不起作用。如果该属性的名称与表列的名称不同,则它不会映射。我该如何映射?
答案 0 :(得分:7)
您可以使用以下列属性
[Column("100_hrs")]
public float hundred _hrs {get; set;}
答案 1 :(得分:6)
回答@
无效的原因。
@
允许您使用关键字名称声明变量,但不允许您使用无效标记。
关于主要问题,您似乎应该更改表列名称 如果你正在使用像EntityFramework的NHibernate这样的某种映射引擎,你可以更改映射文件。例如:
[Column("100_hrs")]
public float hrs100 {get; set;}
答案 2 :(得分:0)
为什么不在数字说_100_hrs之前使用下划线,因为如果你想将它映射到你的列,你可以通过字符串提取轻松操作它?虽然有一点开销,但它确实可以解决您的问题。