我有一個這樣的模型:如何最好地將值轉換注入NHibernate屬性?
public class Order
{
public virtual int OrderType { get; set; }
}
(大量省略當然其它性質的),其直接映射到在DB的int
類型。
事情是,數字訂單類型對我的應用程序沒有意義。用戶看到的單字母代碼表示訂單類型。所以,我可以做這樣的事情:
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
財產。但有沒有更乾淨的方法來做到這一點?也許以某種方式覆蓋映射屬性本身的getter和setter?
一些注意事項:這些值足夠靜態,以便將代碼嵌入到代碼中不是問題。不,沒有LOV表,不,我無法控制數據庫結構。
對不起,如果有這個答案,但搜索像「映射」和「翻譯」的東西並不真正讓我看到的結果,顯然。