2013-12-11 6 views
1

Есть ли способ сделать присоединение к выписке с помощью NHibernate (возможно, QueryOver)?NHibernate QueryOver Присоединиться к подзапросу

Вот SQL я надеюсь генерировать

SELECT r.MaxReading, r.MeterId, m.PreviousHours 
FROM 
Meters m 
LEFT JOIN 
    (SELECT Max(mr.ReadingHours) as MaxReading, mr.AssetMeterId 
    FROM MeterReadings mr 
    WHERE mr.MeterId IN(1,2) 
    GROUP BY mr.MeterId) r 
ON m.Id=r.MeterId 

Я нашел this пост, но похоже, что ответ должен был построить другой запрос. Это заставляет меня думать, что это может быть невозможно.

Я уже понял, как построить кусок подзапроса, поэтому любой ответ может просто использовать простой запрос в его месте в качестве примера. Благодаря!

+0

Пожалуйста, разместите соответствующие части определений классов и сопоставлений, поскольку возможные запросы будут зависеть от него. Что такое 'mr.AssetMeterId' в вашем подзапросе? Кажется, что он не появляется в группе и, по-видимому, упоминается как «r.MeterId» во внешнем запросе – jbl

ответ

0

Насколько я знаю, невозможно присоединиться к подзапросу в NHibernate, поскольку все соединения должны быть связаны с отношениями в вашей объектной модели.

Смежные вопросы