【问题标题】:With NHibernate how can I populate a complex type when using a stored proc?使用 NHibernate 如何在使用存储过程时填充复杂类型?
【发布时间】:2011-08-26 08:33:29
【问题描述】:

我将 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)。

使用存储过程运行时是否可以映射到复杂类型?

【问题讨论】:

    标签: nhibernate stored-procedures nhibernate-mapping


    【解决方案1】:

    您还需要映射映射文件的 sql-query 部分中的列,像这样...

    <return-property name="RoleEndDate">
        <return-column name="DateEnd" />
        <return-column name="DateEndAssumed" />
      </return-property>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-13
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-11
      相关资源
      最近更新 更多