2010-05-14 109 views
0

我正在使用nHibernate進行數據庫持久化。我有兩個表之間定義的一對多關係。當我查詢並嘗試獲取數據時,我從「many」表中獲取正確數量的行,但行是第一行返回的行的重複。重複記錄

table1(one),table2(many)。我創建了一個標準查詢來獲取table1中的某個記錄。然後我希望從table2中獲取所有關聯的記錄。即table1保存命令,table2保存項目。我查詢table1以獲得包含4個項目的訂單。我希望看到table2中的4個項目中的每一個,但我所看到的是第一個重複4次的項目。

有沒有人有任何想法可能會發生什麼?

回答

1

我發現問題是table2上的複合鍵。我包括複合id映射,它工作正常。

感謝代碼here讓我度過了Equals和GetHashCode錯誤。

謝謝

0

NHibernate執行連接來執行您的查詢。要獲得不同的結果,請使用DistinctEntityRootTransformer。

+0

但運行它的查詢返回正確的數據,這導致我相信它可能是一個映射問題。這聽起來正確嗎? – czuroski 2010-05-14 16:03:53