Как отобразить класс проекции в именованном запросе SQL - PullRequest
0 голосов
/ 19 марта 2011

Я хочу, чтобы этот SQL-запрос повторно выполнял класс CustomFieldValue, а не object [], но он завершается с исключением во время выполнения «Ошибки в именованном запросе GetCustomFields».

Отображение SQL-запроса:

<sql-query name="GetCustomFields">
    <return alias="cfv" class="STL.Model.CustomFieldValue, STL.Domain" />

    SELECT
    cf.NAME as {cfv.Name},
    cf.VALUE as {cfv.Name}
    ...

  </sql-query>

DTO:

 [Serializable]
        public class CustomFieldValue
        {
            public virtual string Name { get; set; }
            public virtual string Value { get; set; }
        }

Но, удалите псевдоним, класс и запустите что-то вроде этого:

session.GetNamedQuery("GetCustomFields")
    .SetResultTransformer(Transformers.AliasToBean(typeof(Domain.Model.CustomFieldValue)))
    .List<Domain.Model.CustomFieldValue>();

это работает как положено.Кто-нибудь знает, что не так в отображении?

1 Ответ

0 голосов
/ 19 марта 2011

Является ли CustomFieldValue сопоставленной сущностью? Вы можете опубликовать карту?

В противном случае, преобразователь AliasToBean - это путь.

...