Как сопоставить сущность NHibernate с запросом

Я видел несколько примеров этого, и, насколько я могу судить, мой файл HBM следует той же схеме, но он не работает. Сначала файл:

<?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" сам по себе, работает. То есть если я позвоню

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

Я получаю правильный списокТонкий воздух объекты.

Но когда я пытаюсь получить списокThinAirs нравится:

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

я получил

Метод теста testThinAir вызвал исключение: NHibernate.Exceptions.GenericADOException: не удалось выполнить запрос [ВЫБРАТЬ this_.JobId как JobId16_0_, this_.UserLogin как UserLogin16_0_, this_.UserEmail как UserEmail16_0_, this_.DateProcessed_ DatePro_4OM_16Тонкий воздух это_ ]

Моя интерпретация этого явления такова, что NH игнорирует мою<loader> тэг и таким образом пытается загрузить данные из базовой таблицы, которая по умолчанию предполагает имяТонкий воздух потому что это имя класса сущности, только тамне ЛюбыеТонкий воздух таблица, отсюда и сообщение об ошибке.

Правильно ли это истолковано? И в любом случае, что я делаю неправильно и как я могу сделать это правильно?

Заранее спасибо.

Майкл

Ответы на вопрос(1)

Ваш ответ на вопрос