我有一個數據庫(不能改變)與值的整個負載存儲在兩列:NHibernate的 - 地圖多個數據庫列一個對象
目前每列映射到一個屬性,我的域名物體看起來是這樣的:
int? Value1
bool IsValue1RealValue
string Value2
bool IsValue2RealValue
bool? Value3
bool IsValue3RealValue
我希望把這些成值類型將舉行2個或3個值:
-The值(存儲在object
或T
)
-The布爾 'RealValue'
- 和(可選地)在.NET屬性名
目前的名稱我有以下NHibernate的映射:
Component(x => x.Value1, fdf =>
{
fdf.Map(f => f.Value).Column("Value1");
fdf.Map(f => f.IsRealValue).Column("IsValue1RealValue");
});
Value1
具有以下類型:
public class FlaggedNullableIntValue
{
public int? Value;
public bool IsRealValue;
}
我的域對象會再看看這樣的:
public class DomainEntity
{
public virtual FlaggedNullableIntValue Value1;
public virtual FlaggedStringValue Value2;
public virtual FlaggedNullableBooleanValue Value3;
}
我想知道在這條路上走得更遠還是有另一個更適合我需要的構造是個好主意?
我不認爲我理解。你希望你的模型看起來像什麼?如果'Value'的類型是'int?',那麼有'T'或'objects'的地方?你想要映射哪個屬性名稱? – NOtherDev
我已更新我的問題。該模型對於數據庫中的每個Value + IsRealValue組合都有1個屬性。該值目前仍然是int,但理想情況下,映射對象將能夠將Type,bool和String作爲Type for Value來處理。 – Laoujin
您是否問nHibernate是否具有轉換行(對象)中的列的功能?如果是這樣,我很確定這是不可能的。你必須手動映射每一對。 – igelineau