我有这个映射:
<bag name="Attributen" inverse="true">
<key column="Id"/>
<one-to-many class="Attribuut" />
<loader query-ref="AttribuutQuery"/>
</bag>
<sql-query name="AttribuutQuery">
<load-collection alias="attributen" role="Project.Attributen"/>
<![CDATA[
select Attribuut.* from Attribuut where :id > 0
]]>
</sql-query>
表格Attribuut
不包含foreignkey
查询返回表中的所有(30)行,这是我想要的,但只有第一行被添加到属性IList<Attribuut> Attributen
,所以这个集合只包含一个元素而不是30个。
更新:添加的行的ID与映射中“键”的值相同。现在的问题是:
如何将结果集中的所有行添加到集合中?
我找到了解决问题的方法。 查询应为:
选择p.Id,a.Naam,a.Label来自Attribuut,交叉加入Project p 其中p.Id =:Id