2008-11-06 62 views
4

我试图建立一个HQL,可以从一个集合中连接值,以便给我检查“null”的机会。NHibernate HQL不支持“with”关键字吗?

从例如取自休眠手册:

 
from Cat as cat 
    left join cat.kittens as kitten 
     with kitten.bodyWeight > 10.0 

似乎并不在NHibernate的工作,因为它不承认“与”关键字。如果你不能直接在你的连接中指定连接子句而不是在你的WHERE语句中,你还应该如何离开连接并检查没有匹配的条目?

我正在运行NHibernate 2.0.0。

+0

他们似乎已经在NH 2.1中实现了它,但有一些怪癖。 – jishi 2009-08-31 09:03:15

回答

2

不幸的是,这在NHibernate中不受支持。这是first requested in 2005,是迄今为止最受欢迎的请求功能。

+0

您有没有对解决方法有任何建议,或者是否可以通过某种方式使用Criteria来实现? – jishi 2008-11-06 19:52:10

1

我想你可以通过使用外连接解决办法,然后做到这一点:

from Cat c 
left join c.Kittens as kitten 
where kitten.bodyweight > 10 or kitten.bodyweight is null