如何在NHibernate中选择一个非映射字段

本文关键字:一个 字段 映射 NHibernate 选择 | 更新日期: 2023-09-27 18:11:22

我有一个命名查询,它检索类"Expediente"的对象列表。我需要向这个对象添加一个计算字段(confirmado),但是我不知道如何为这个特定的查询映射这个字段。我已经尝试在映射文件中使用insert="false" update="false",但然后每一个查询需要字段。你能帮我吗?

<sql-query name="BuscarExpedientes">
<return alias="e" class="GestionDPV.Core.Expediente, GestionDPV.Core"/>
<return-join alias="cab" property="e.Agregados"/>
<![CDATA[
  SELECT e.*,
  CASE
    WHEN p.id IS NULL THEN p.confirmado
    ELSE 1
  END AS confirmado
  FROM Expedientes e
  LEFT JOIN Expedientes cab ON cab.id = e.idCabecera
  LEFT JOIN Pases p ON p.idExpediente = e.id AND p.fechaGeneracion = (SELECT MAX(fechaGeneracion) FROM Pases WHERE idExpediente = e.id)
]]>

如何在NHibernate中选择一个非映射字段

您可以使用<return-scalar>。参考文档

顺便说一句,如果你想要一个<return-join>,你也必须选择它的列。