Cómo asignar una entidad NHibernate a una consulta

He visto varios ejemplos de esto, y hasta donde puedo decir, mi archivo HBM sigue el mismo patrón, pero no funciona. Primero, el archivo:

<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping default-cascade="save-update" xmlns="urn:nhibernate-mapping-2.2">
  <class name="ThinAir" mutable="false" lazy="true" >
    <id name="JobId">
      <generator class="native" />
    </id>
    <property name="UserLogin"/>
    <property name="UserEmail"/>
    <property name="DateProcessed"/>
    <loader query-ref="myquery"/>
  </class>
  <sql-query name="myquery">
    <return class="ThinAir">
      <return-property name="JobID" column="JobId"/>
      <return-property name="userLogin" column="UserLogin"/>
      <return-property name="DateProcessed" column="DateProcessed"/>
      <return-property name="userEmail" column="UserEmail"/>
    </return>
    <![CDATA[
    SELECT DISTINCT JobID,
    userLogin,
    DateProcessed,
    useremail
    FROM         dbo.someothertable
    ]]>
  </sql-query>
</hibernate-mapping>

"Myquery" en sí mismo, funciona. Es decir, si llamo

var x = session.GetNamedQuery("myquery").List();

Me sale una lista correcta deAire delgado objetos.

Pero, cuando intento obtener una lista deThinAirs Me gusta esto:

var submissions = session.CreateCriteria<ThinAir>().List<ThinAir>();

yo obtengo

El método de prueba testThinAir arrojó la excepción: NHibernate.Exceptions.GenericADOException: no se pudo ejecutar la consulta [SELECCIONE este_.JobId como JobId16_0_, this_.UserLogin como UserLogin16_0_PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPAire delgado esta_ ]

Mi interpretación de este fenómeno es que NH está ignorando mi<loader> etiqueta y así tratar de cargar los datos de la tabla subyacente, que de forma predeterminada asume que se les asigna un nombreAire delgado Porque ese es el nombre de la clase entidad, solo ahíno es algunaAire delgado tabla, de ahí el mensaje de error.

¿Es correcta esa interpretación? Y, en cualquier caso, ¿qué estoy haciendo mal y cómo puedo hacerlo bien?

Gracias por adelantado.

Miguel

Respuestas a la pregunta(1)

Su respuesta a la pregunta