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