Можно использовать CreateSQLQuery
с формулами.
Вот подтверждение концепции.Отображение (класс не трудно угадать):
<class name="Foo">
<id name="Id">
<generator class="hilo"/>
</id>
<property name="Data"/>
<property name="DataX2" formula="Data * 2"/>
</class>
И вот запрос:
var foos = session.CreateSQLQuery(
@"
select Id as {foo.Id},
Data as {foo.Data},
Data + Data as {foo.Data2}
from Foo
")
.AddEntity("foo", typeof(Foo))
.List<Foo>();
Если вы посмотрите внимательно, вы увидите, что я использую другую формулучем тот, который объявлен в отображении.NHibernate допускает все что угодно, пока все свойства находятся в запросе.
Я предлагаю вам прочитать 17.1.2.Объект запрашивает и следующие пункты.