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

时间:2011-10-17 12:10:17

标签: c# tsql nhibernate

我有一个命名查询,用于检索类“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)
]]>

1 个答案:

答案 0 :(得分:0)

您可以使用<return-scalar>。请参阅documentation

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