Наилучший подход для добавления обращения в столбец для nhibernate

#nhibernate-criteria

#nhibernate-критерии

Вопрос:

Каков наилучший способ добавить этот запрос в качестве проекции в nhibernate?
CASE
WHEN account.firstname = '' AND account.lastname = ''
THEN email.EmailAddress
ELSE account.firstname ' ' account.lastname
END

Комментарии:

1. Разве эта логика не должна быть включена в уровень представления? Пусть hibernate извлекает то, что есть в базе данных, и обрабатывает этот сценарий обращения при отображении информации

Ответ №1:

Должно быть что-то вроде этого:

 var accounts = session.QueryOver<Account>()
  .Select(Projections.Conditional(Restrictions.And(
            Restrictions.Eq("firstname", ""),
            Restrictions.Eq("lastname", "")),
              Projections.Concat(p.LastName, ", ", p.FirstName),
              Projections.Property(t => t.EmailAddress)))
  .List();