在变量名称的开头使用数字

时间:2013-04-15 05:06:40

标签: c# entity-framework-5

我正在将数据从SQL数据库映射到c#中的对象。问题是,其中一列不幸被命名为“100_hrs”。因此,当我创建C#对象时,声明中出现错误:

public float 100_hrs {get; set;}

我尝试在前面使用@,但它不起作用。如果该属性的名称与表列的名称不同,则它不会映射。我该如何映射?

3 个答案:

答案 0 :(得分:7)

您可以使用以下列属性

[Column("100_hrs")]
public float hundred _hrs {get; set;}

答案 1 :(得分:6)

回答@无效的原因。

@允许您使用关键字名称声明变量,但不允许您使用无效标记。

MSDN

关于主要问题,您似乎应该更改表列名称 如果你正在使用像EntityFramework的NHibernate这样的某种映射引擎,你可以更改映射文件。例如:

[Column("100_hrs")]
public float hrs100 {get; set;}

答案 2 :(得分:0)

为什么不在数字说_100_hrs之前使用下划线,因为如果你想将它映射到你的列,你可以通过字符串提取轻松操作它?虽然有一点开销,但它确实可以解决您的问题。