nHibernate:如何映射可以是任何类型的属性?

时间:2014-08-07 20:23:23

标签: c# nhibernate

我有一个这样的课程:

public class Answer
{
    virtual public int Number { get; set; }
    virtual public object Value { get; set; }
}

Value属性的输入为object,因为对于是/否问题,它将保留bool值,对于多项选择问题,它将保留int价值和未决问题,它将保持string值。

我打算在Microsoft SQL Server 2012表中保留这样一个类,Value存储在varbinary列中(不确定这是个好主意)。

如何在nHibernate中映射这样的类?

提前致谢!

1 个答案:

答案 0 :(得分:2)

如果你真的只有三种不同的Value类型,可以考虑制作四种不同的Answer类 - 一个基类(Answer)和三个子类(AnswerInt,AnswerString,AnswerBool)。然后,您可以执行标准映射技术之一 - 每个层次表或每个表的表。