如何映射任何类型的属性
本文关键字:任何 类型 属性 映射 何映射 | 更新日期: 2023-09-27 18:16:55
我有一个这样的类:
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中映射这样的类?
提前感谢!
如果您真的只有三种可能的Value类型,请考虑创建四个不同的Answer类——一个基类(Answer)和三个子类(AnswerInt, AnswerString, answerool)。然后可以使用一种标准的映射技术——每个层次表或每个类表。