如何使用QueryOver加入子查询

时间:2013-06-22 09:36:01

标签: c# nhibernate join queryover

我查看了类似的问题但主要是遇到where子句子查询。我想要实现的是出于性能原因首先执行某些连接和排序,然后再与其他表进行内连接。但是我试过了,所有的连接都是在平坦的层次结构中出现的,没有子查询。

我的查询结构如下:

SELECT * FROM (
    SELECT T1.*
    FROM T1
        LEFT OUTER JOIN T2 on ...
        LEFT OUTER JOIN T3 on ...
    ORDER BY
        t.Date desc
) t1 INNER JOIN T4 ON ...
     INNER JOIN T5 ON ...

在没有子查询的情况下连接所有这些表的代码如下:

Session.QueryOver(() => t1)
.JoinAlias(x => x.Col2, () => t2, JoinType.LeftOuter)
.JoinAlias(x => x.Col3, () => t3, JoinType.LeftOuter)
.JoinAlias(x => x.Col3, () => t3, JoinType.InnerJoin)
...

问题:如何使用QueryOver表达此查询?我找不到用JoinAlias做的方法..

0 个答案:

没有答案
相关问题