我試圖理解爲什麼這個簡單的查詢生成NHibernate的3.3錯SQL:NHibernate的查詢失敗「的多部分組成的標識符無法綁定」在彙總查詢
var query = session.CreateQuery(@"select count(*) as C
from Parent p
inner join fetch p.Child c
where c.Field = 'someValue'");
當我執行此查詢生成的SQL不包括對Child表的引用,這會導致可怕的「多部分標識_child.FIELD無法綁定」異常。
任何人有一個想法,爲什麼這個問題以及如何解決它?
謝謝!
不幸的是,這不是問題所在。生成的sql如下所示:「SELECT COUNT(*)as C FROM PARENT _PARENT WHERE _CHILD.NAME ='Some Value'」 - 這顯然是錯誤的。 – 2013-03-21 15:51:42
@ A.Chiesa:查詢看起來很直截了當。你有沒有試過將'count(*)作爲C'來僅僅用於測試目的?只是爲了檢查是否仍然存在錯誤 – 2013-03-21 16:10:10
是的。與EXACT相同的選擇和where子句完美無缺地工作。感謝您的關注! – 2013-03-21 16:12:43