我在我的C#web應用程序中使用NHibernate完成了我的OR映射。當我想要獲取所有葉節點時,我使用如下查詢語句:HQL子查詢意外的NULL返回
List<NODE> LeafList =(List<NODE>) Session.CreateQuery("from NODE as node where node.Id not in (select FatherNodeId from NODE)").List<NODE>();
但是,我在查詢後得到了LeafList的數量等於0。我的數據庫是這樣的:
Id FatherNodeId
1 NULL
3 1
4 3
5 3
所以,我預期的結果應該是id爲4或5 更重要的是混亂,如果我改變「不」到「中」,查詢效果很好,和節點返回節點的ID爲1或3.
那麼最新怎麼了我不在子查詢?
謝謝你的幫助。但是當我嘗試使用不存在時,不幸的是它遇到了一個sql語法錯誤。所以..這可能不是原因 – Ron