Nhibernate: несколько идентичных записей возвращены от ребенка в сумке - PullRequest
0 голосов
/ 13 мая 2011

При использовании сумки для возврата предметов из дочерней таблицы я получаю правильное количество предметов в сумке, однако все строки идентичны.

Объект сопоставления для SearchPerson

 <?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Nortonrose.DataAccess" namespace="Nortonrose.DataAccess.Mappings">
  <class name="Nortonrose.DataAccess.SearchEntities.PersonSearchEntity" table="nr_rx_person" lazy="true">

        <id name="RxId">
          <column name="rx_id"/>
          <generator class="native" />
        </id>
        <property name="Locale">
          <column name="locale"/>
        </property>
        <property name="Firstname">
          <column name="first_name"/>
        </property>
        <property name="Lastname">
          <column name="last_name"/>
        </property>
        <property name="URL">
          <column name="rx_id"/>
        </property>
        <property name="Email">
          <column name="email"/>
        </property>
        <property name="Phone">
          <column name="DDI"/>
        </property>
        <property name="SearchMapping">
          <column name="search_mapping_position"/>
        </property>
                <property name="Image">
                    <column name="image"/>
                </property>
                <property name="Position">
                    <column name="job_title"/>
                </property>
        <bag name="Expertises" >
            <key column="rx_id"/>

            <many-to-many class="Nortonrose.DataAccess.SearchEntities.ExpertiseEntity"/>
            <!--<property name="ExpertiseID"/>-->
        </bag>



        <bag name="Locations" >
            <key column="rx_id"/>
            <one-to-many class="Nortonrose.DataAccess.SearchEntities.LocationEntity"/>
            <!--<property name="ExpertiseID"/>-->
        </bag>
    </class>

Субъект экспертизы из пакета

    <?xml version="1.0" encoding="utf-8" ?>

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Nortonrose.DataAccess" namespace="Nortonrose.DataAccess.Mappings">

  <class name="Nortonrose.DataAccess.SearchEntities.ExpertiseEntity" table="v_ExpertiseTitle" lazy="true">

        <id name="RxId">

          <column name="rx_id"/>


          <generator class="native" />

        </id>

        <property name="ExpertiseTitle">

            <column name="title"/>

        </property>

    </class>



</hibernate-mapping>

Таблица экспертизы имеет идентификатор пользователя, идентификатор экспертизы и сопоставляется с названием экспертизы.Это все сделано в представлении.

Спасибо Джеймс

...