我有一个数据库(无法更改),其中包含存储在两列中的全部值:
目前,每一列都映射到一个属性,我的 Domain 对象如下所示:
int? Value1
bool IsValue1RealValue
string Value2
bool IsValue2RealValue
bool? Value3
bool IsValue3RealValue
我想将它们放入一个包含 2 或 3 个值的 ValueType 中:
- 值(存储在object
或 中T
)
- 布尔值“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;
}
我想知道沿着这条路走得更远是否是个好主意,或者是否有其他结构可能更适合我的需求?