私は、データベースにドル額を整数(つまり、$ 10.99 == 1099)として格納する既存の[不十分に設計された]データベースを使用しています。エンティティクラスでこの値を小数として処理して、消費するコードが変換を行う必要がないようにします。
値を整数から10進数に変換してから、データ注釈またはFluent構成を使用して元に戻す方法はありますか?
その間、私は本質的に整数プロパティを変換を処理するdecimalプロパティで「ラップ」するハックを使用しています。
[Column("intTotal")]
public virtual int TotalAsInt { get; set; }
[NotMapped]
public virtual decimal Total
{
get { return (decimal) TotalAsInt/100; }
set { TotalAsInt = (int)(value*100); }
}