0
我建設,需要返回的訂單,其中用戶的ID爲null HQL查詢:查找空的ID與HQL
IList<Order> rows = DataContext.LoadList<Order>(
"from Order " +
"where OrderDate < ? " +
" and User.ID is null" //have also tried 'and User is null'
, DateTime.Today.AddMonths(-1));
這不返回任何記錄,即使對DB的直接查詢返回幾十。
如果我使用相同的查詢,但更換「爲空」與「33」(一個有效的用戶ID),我會得到用戶的訂單。所以查詢的基礎是有效的 - 我如何表達'空'位是錯誤的。
可能與事實有關,在.NET項目中,Order對象包含一個複雜的User對象,在數據庫中,Orders表只保存整數(ID),這是用戶表的外鍵。
不過 - 因爲 '和User.ID = 33' 按預期工作我不明白爲什麼 '爲空' 不。
This answer suggests I need to switch of the Criteria route.This answer suggests that my current code should work.
THX