NHibernate连接过滤器(带子句?)

时间:2011-04-08 01:33:44

标签: nhibernate join

我试图想办法用HQL对连接对象进行“过滤”。 〔实施例:

from Cat as cat
    inner join tableX as x
    left join tableY as y
        with x.someID = y.someID

我知道“ with ”子句可以正常使用参数:param,如下所示:

from Cat as cat
    inner join tableX as x
    left join tableY as y
        with x.someID = :param

但在我的情况下,我没有参数。

更新

以下是更多信息:

Table Cat       TableX:              TableY:
---------       ------               --------
PK ID           PK EntityID          PK EntityID
Column 1        Column State         Column State     
Column 2        Column 1             Column 1
Column 3        Column 2

表格Cat和表格Y具有一对一的映射关系。 表格Cat和表格X具有一对多映射。

我基本上想在HQL中说:

SQL:    SELECT *
        FROM Cat c
        INNER JOIN TableX x on c.ID = x.EntityID
        LEFT JOIN TableY y on x.EntityID = y.EntityID and x.State = y.State

对此有什么想法或解决方法吗?

提前谢谢!

1 个答案:

答案 0 :(得分:0)

我相信没有映射关联,你想要实现的目标是不可能的。你不能做一个外部theta连接,只能交叉和内部。