C# NHibernate,左外连接

C# NHibernate,左外连接,c#,nhibernate,nhibernate-mapping,C#,Nhibernate,Nhibernate Mapping,如何创建nhibernate查询,它应该类似于下面的sql查询 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.

如何创建nhibernate查询,它应该类似于下面的sql查询

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

可能的副本有一个漂亮的工具叫做。它可以帮助您使用XML、fluent和ByCode映射样式的语法。请添加您当前的映射。很抱歉,对于问题的错误解释,我做了一些编辑,ProdId是表B的外键。为什么不呢?它非常强大。