Я некоторое время не использовал ActiveRecord, но насколько я помню, он использует NHibernate внизу, который может справиться с этим.Ниже приведен некоторый код, беззастенчиво извлеченный из другого вопроса / ответа о переполнении стека :
IList<MyObj> reults = Session.CreateQuery("select r.feedname as feedname, count(r.feedurl) as feedcount from rsssubscriptions r group by r.feedname")
.SetResultTransformer(NHibernate.Transform.Transformers.AliasToBean(typeof(MyObj)))
.List<MyObj>();
Хотя функции «MapFieldAs» нет, есть функция «SetResultTransformer».Эта функция позволяет вам передать объект, который описывает, что должно быть сделано после получения результатов из базы данных.Для того, чтобы запрос запросил данные и отобразил столбцы в список строго типизированных объектов, вы должны определить объект-преобразователь, который будет делать это.К счастью, NHibernate также имеет универсальный объект-преобразователь, который вы можете использовать (NHibernate.Transform.Transformers.AliasToBean).
Вот несколько ответов о переполнении стека с примерами:
NHibernate:возвращение строго типизированного списка с применением агрегатной функции
Использование несопоставленного класса с именованным запросом NHibernate