#c# #tsql #nhibernate
#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:
Вы можете использовать <return-scalar>
. Смотрите документацию.
Кстати, если вы ожидаете a <return-join>
, вы также должны выбрать его столбцы.
Комментарии:
1. Я пробовал этот метод, но с помощью return-scalar я не могу отобразить это скалярное значение как свойство в классе. Это моя проблема, верните весь класс плюс это дополнительное поле