0

根据

<class name="A" >
<id name="ID" type="AnsiString">
<column name="p_ID_vc" length="50"></column>
<generator class="assigned"/>
</id>
<component name="B">
<many-to-one name="C" lazy="true"/>
</component>
<class/>

目标

  • 在获取对象 A 的同时获取 C
  • 在获取 A 列表的同时获取 C

问题

我尝试↓。但它不起作用。

Query.Fetch(A=>A.B).ThenFetch(B=>B.C).Where(……).

帮助

  • 任何人都知道如何解决它。我需要你的帮助。谢谢!
4

2 回答 2

0

获取组件不适用于 Linq 查询。看到这个问题:https ://nhibernate.jira.com/browse/NH-2769

于 2012-05-10T11:04:11.730 回答
0

您可以使用 HQL 来实现这一点。您的查询应如下所示:

"select a from A a inner join fetch a.B b inner join fetch b.C c where ..."

希望有帮助..

于 2012-05-10T17:34:45.877 回答