Nhibernate映射,join只会返回连接表中的第一个值

时间:2011-11-04 21:53:49

标签: nhibernate ibm-midrange

我正在尝试检索某些部件的工厂名称。我通常使用实体框架,但我正在使用AS400和实体框架不是AS00的选项。我只获得了连接中找到的第一个值。具有相同内径的零件可以在不同的工厂生产。

实际数据
零件表零件详细信息表

  • partid-1234,plant4
  • partid-1234,plant5
  • partid-1234,plant6

查询返回的内容 零件表零件详细信息表

  • partid-1234,plant4
  • partid-1234,plant4
  • partid-1234,plant4

 <class name="Part" table="DCSCIM" dynamic-update="false">
    <cache usage="read-write"/>
    <id name="Id" column="ITMID" type="String">
      <generator class="uuid.string"/>
    </id>
    <property name="ITMDESC"/>
    <property name="ALTDESC"/>
    <property name="DTECRT"/>
    <join table="DMFPSMR">
      <key column="ITMID"/>
      <property name="PLT" column="PLT" type="String" length="100" />
    </join>

  </class>
</hibernate-mapping>

2 个答案:

答案 0 :(得分:1)

您应该使用集合,而不是join。我建议你阅读文档:http://nhibernate.info/doc/nh/en/index.html

答案 1 :(得分:0)

我最终加入了存储库中的数据而不是Linq的映射文件。