我正在使用NHibernate(版本:3.3.1.4000),我試圖執行一個HQL查詢,作爲一個SELECT值的子查詢。它工作正常,問題是當在子查詢中沒有數據,那麼我有以下錯誤:NHibernate + HQL子查詢 - 沒有給定標識符的行
- 「與給定的標識符的行存在[namespace.Table2#-2147483648]」
的代碼示例:
IQuery query = session.CreateQuery(@"SELECT tb1,
(SELECT tb2
FROM Table2 tb2
WHERE tb2.IdVal = tb1.IdVal
AND tb2.Id2 = :id2)
FROM Table1 tb1
WHERE tb1.Cod = :cod1");
IList<object[]> dataResult = query.SetParameter("id2", "value")
.SetParameter("cod1", 1).List<object[]>(); // The error is trown in this Line
我想知道我怎樣才能避免這種錯誤,我只是想子查詢返回一個「空」值當沒有數據。
我將不勝感激任何幫助。 在此先感謝。
這是否提問/回答幫你呢? http://stackoverflow.com/q/695931/497356 –
HI @AndrewWhitaker,謝謝,但不幸的是,我已經找到了stackoverflow,並找不到答案。 – Jacobi
你到底將參數值傳遞給了什麼?代碼看起來有點奇怪 - 什麼是id2 for ...另一個實體? – cbp