如何創建NHibernate的查詢時,應該像下面的SQL查詢NHibernate的,LEFT OUTER JOIN
select * from A
left outer join B on A.ID = B.ID
left outer join C on B.ProdID = C.ProdID
不幸的是,我不能使用命名查詢。 A的映射應該是什麼樣子?
謝謝。
如何創建NHibernate的查詢時,應該像下面的SQL查詢NHibernate的,LEFT OUTER JOIN
select * from A
left outer join B on A.ID = B.ID
left outer join C on B.ProdID = C.ProdID
不幸的是,我不能使用命名查詢。 A的映射應該是什麼樣子?
謝謝。
將B映射爲A的多對一屬性。B到C關係似乎不是常規外鍵,並且不能映射爲屬性。所以它不能留在外面加入。
HQL,C不能左外加入:
select *
from A a
left join a.B b,
C c
where
c.Description = b.Description
對不起,對於問題的不好解釋,我做了一些編輯,ProdId是表B的外鍵。 – Yanol
爲什麼不能?它非常強大。 –
可能重複的[NHibernate的左外連接(http://stackoverflow.com/questions/2756148/nhibernate-left-outer-join ) – Peter
有一個稱爲[NHibernate映射生成器](http://nmg.codeplex.com/)的niffty工具。它可以幫助您使用XML,流利和ByCode映射樣式的語法。 – Justin
請添加您當前的映射。 –