Я использую NHibernate для управления базой данных.
В одном классе я вычисляю свойство, используя эту формулу:
(SELECT MIN(x.timestamp) FROM (SELECT MAX(r.Timestamp) AS timestamp, r.Meter_Id FROM Reading r, Meter m WHERE r.Meter_Id = m.Id AND m.Store_Id = Id GROUP BY r.Meter_Id) AS x)
Сгенерированный запрос выглядит так:
(SELECT MIN(x.timestamp) FROM (SELECT MAX(r.Timestamp) AS timestamp, r.Meter_Id FROM Reading r, Meter m WHERE r.Meter_Id = m.Id AND m.Store_Id = this_.Id GROUP BY r.Meter_Id) AS this_.x)
Очевидно, что имя в операторе AS переименовано в this_.x, что вызывает ошибку.
Кажется, это известная ошибка: NHibernate JIRA # NH-2878
Есть ли у кого-нибудь решение для этого?