4

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

public float 100_hrs {get; set;}

我试过@在前面使用,但它不起作用。如果该属性的名称与表列的名称不同,则它不会映射。我怎样才能映射这个?

4

3 回答 3

8

您可以使用列属性如下

[Column("100_hrs")]
public float hundred _hrs {get; set;}
于 2013-04-15T05:14:39.607 回答
7

回答为什么@不起作用。

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

MSDN

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

[Column("100_hrs")]
public float hrs100 {get; set;}
于 2013-04-15T05:12:24.073 回答
0

Why not use underscore before the number say _100_hrs since you could easily manipulate it by string extraction if you want to map it to your column? Although there is a little overhead it sure solve your problem.

于 2013-04-15T05:22:32.083 回答