2 つの列に格納されている値の負荷全体を持つデータベース (変更できない) があります。
現在、各列は 1 つのプロパティにマップされており、私のドメイン オブジェクトは次のようになります。
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;
}
この道をさらに進むのは良い考えなのか、それとも私のニーズにより適した別の構造があるのだろうか?