我正在使用NHibernate和存储过程,但是我在填充复杂类型时遇到了问题。
当不使用存储过程时,我会像这样设置映射...
<property name="RoleEndDate"
type="Mdl.Common.Persistence.EndDateUserType, Mdl.Common.Persistence">
<column name="DateEnd"/>
<column name="DateEndAssumed"/>
</property>
然而,当我尝试使用sql-query映射时,我的EndDateUserType类失败,因为在数据读取器中找不到传递给它的列名。名称是NHibernate生成的名称(例如DateEnd14_0_),而不是实际的列名称(DateEnd)。
使用存储过程运行时是否可以映射到复杂类型?
答案 0 :(得分:1)
您还需要映射映射文件的sql-query部分中的列,如此...
<return-property name="RoleEndDate">
<return-column name="DateEnd" />
<return-column name="DateEndAssumed" />
</return-property>