如何在NHibernate Parent HBM中暴露儿童的多层次属性

时间:2014-07-09 16:35:29

标签: nhibernate nhibernate-mapping

我对NHibernate很新,所以请耐心等待。我有一个父对象链接到相当复杂的对象模型中的子对象。如果我正在编写SQL,我的查询将如下所示:

Select A.P1, A.P2, A.BId, C.Id as BCId, D.Id As BCDId
From A
Left Join B On A.BId = B.Id
Left Join C On B.CId = C.Id
Left Join D On C.DId = D.Id

生成的类将具有公开B.Id和C.Id而不是对象本身的属性。如何在HBM文件中对此进行建模?我尝试使用连接,但是这不允许嵌套,所以虽然我可以得到一个或两个级别,但我无法同时获得它们。

1 个答案:

答案 0 :(得分:1)

一致认为这在NHibernate中是不可能的,您应该使用数据库视图并将其映射到实体,使用nhibernate linq或queryover提供程序或使用以下StackOverflow文章中的建议大纲:

NHibernate: Mapping a join on a joined table