我正在将 SQL 数据库中的数据映射到 c# 中的对象。问题是,不幸的是,其中一列被命名为“100_hrs”。所以当我创建我的 C# 对象时,我在声明中得到一个错误:
public float 100_hrs {get; set;}
我试过@
在前面使用,但它不起作用。如果该属性的名称与表列的名称不同,则它不会映射。我怎样才能映射这个?
我正在将 SQL 数据库中的数据映射到 c# 中的对象。问题是,不幸的是,其中一列被命名为“100_hrs”。所以当我创建我的 C# 对象时,我在声明中得到一个错误:
public float 100_hrs {get; set;}
我试过@
在前面使用,但它不起作用。如果该属性的名称与表列的名称不同,则它不会映射。我怎样才能映射这个?
回答为什么@
不起作用。
@
允许您使用关键字名称声明变量,它不允许您使用无效标记。
关于主要问题,您似乎应该更改表列名称。
如果您使用某种映射引擎,例如 EntityFramework 的 NHibernate,您可以更改映射文件。例子:
[Column("100_hrs")]
public float hrs100 {get; set;}
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.