私はこのようなモデルを持っています:
public class Order
{
public virtual int OrderType { get; set; }
}
int
(もちろん、他の多くのプロパティは省略されています) DBのタイプに直接マップされます。
問題は、数値の順序タイプは私のアプリケーションにとって無意味です。注文の種類を示す 1 文字のコードがユーザーに表示されます。だから、私はこのようなことができます:
public class Order
{
public virtual int OrderTypeIgnored { get; set; }
public virtual char OrderType
{
get
{
return translateForward(OrderTypeIgnored);
}
set(char val)
{
OrderTypeIgnored = translateBackward(val);
}
}
}
(そこにはたくさんのエアコード/疑似コードがあります。私は比較的C#に慣れていません)そしてOrderTypeIgnored
プロパティをマップするだけです。しかし、これを行うためのよりクリーンな方法はありますか? おそらく、マップされたプロパティ自体でゲッターとセッターを何らかの形でオーバーライドしているのでしょうか?
いくつかの注意事項: 値は十分に静的であるため、翻訳をコードに埋め込むことは問題になりません。いいえ、LOV テーブルはありません。データベース構造を制御することもできません。
これに対する回答がある場合は申し訳ありませんが、「マッピング」や「翻訳」などを検索しても、探している結果が得られないことは明らかです。