我正在使用现有的 [设计不良] 数据库,该数据库将美元金额存储为数据库中的整数(即 $10.99 == 1099)。我希望我的实体类将此值视为小数,以便使用代码不必进行翻译。
有没有办法将值转换为整数和十进制,然后使用 Data Annotations 或 Fluent 配置返回?
与此同时,我正在使用一种 hack,它本质上是用一个处理翻译的小数属性“包装”整数属性。
[Column("intTotal")]
public virtual int TotalAsInt { get; set; }
[NotMapped]
public virtual decimal Total
{
get { return (decimal) TotalAsInt/100; }
set { TotalAsInt = (int)(value*100); }
}