[C#] 使用Critieria API在NHibernate中選擇子查詢


Answers

Question

所以我有一個SQL查詢結構如下:

select p.* from
(
    select max([price]) as Max_Price,
    [childId] as childNodeId
    from [Items] group by [childId]
) as q inner join [Items] as p on p.[price] = q.[Max_Price] and p.[childId] = q.[childNodeId]

我需要使用Criteria API在NHibernate中重新創建這個查詢。 我嘗試使用Subqueries API,但似乎要求內部查詢返回單個列來檢查外部查詢中的屬性是否相等。 不過,我回來兩個。 我讀過這可以通過HQL API完成,但是我需要使用Criteria API來完成,因為我們將動態生成這樣的查詢。 任何人都可以在正確的方向引導我嗎?