我刚刚开始使用NHibernate并且正在尝试为我的模型进行映射。 (这是模型优先,TDD方法,现在只创建数据库)
My Class hierachy类似于:
我正在尝试使用映射xml文件来解决如何映射这个问题?
这是我的表格以及我希望他们映射到
的内容QuestionId - Int - [Question.Id]
PmqccFormId - Int - [Question.PmqccForm.Id]
InputtedAnswer - Int - [NormalQuestion.InputtedAnswer或JobVelocityQuestion.InputtedAnswer - 它们都是将转换为/从int转换的枚举,如果需要,可以将它们分成单独的列]
ResponsibleStaffId -Int - [PiAlertQuestion.ResponsibleStaffMember.Id]
说明 - varchar - [Question.Explanation]
QuestionType - varchar - [Discriminator]
我不确定如何映射这个,因为它有点问。有一堆更多'问题'对象,它们都继承自YesNoQuestion或NormalQuestion,但不再添加属性,只是方法实现。
我猜我有一个问题基类,然后有那个?棘手的一点是继承自Question的JobVelocityQuestion。谁能指出我正确的方向?
答案 0 :(得分:1)
这应该让你开始:
<class name="Question">
...
<discriminator column="QuestionType"/>
<subclass name="JobVelocityQuestion">
<property name="InputtedAnswer"/>
</subclass>
<subclass name="NormalQuestion">
<property name="InputtedAnswer"/>
<subclass name="AsConsQuestion"/>
...
</subclass>
我做了很多假设,但它应该有效。随意进一步询问。