Как использовать дочернее поле объекта как часть составного ключа в другом дочернем объекте в NHibernate - PullRequest
2 голосов
/ 07 ноября 2008

Мне нужно создать новое отношение «многие к одному» в моей сущности «Пользователь», которое объединяется с другой сущностью. Проблема заключается в том, что другой объект имеет составной ключ, 1 поле которого является полем в объекте «Пользователь», а другое - в другом объекте «многие к одному».

User.Key -> User.NewThing.Key

User.SubThing.Key -> User.NewThing.Key

Ниже приведен недопустимый файл сопоставления, который я в идеале хочу использовать, где JeanieUserTyped - это моя новинка, а ApplicationId - ключ, о котором идет речь, от ShortCode.ApplicationId.

Вопрос в том, как мне настроить отображение прикладной части составного ключа?

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="JeanieMaster.Domain.Entities" assembly="JeanieMaster.Domain">
    <class name="JeanieUser" table="DBSVR1.Jeanie_Master.dbo.JeanieUser" select-before-update="false" optimistic-lock="none">
        <id name="Id" column="UserId" type="Int32">
            <generator class="identity"/>
        </id>

        <property name="Mobile" type="String"/>
        <property name="UniqueReoccurBillingRefId" type="String"/>
        <property name="DateJoined" type="DateTime"/>
        <property name="IsActive" type="Boolean"/>

        <many-to-one name="MobileNetwork" class="MobileNetwork" column="MobileNetworkId" />
        <many-to-one name="ShortCode" class="ShortCode" column="ShortCodeId" />
        <many-to-one name="MobileHandset" class="MobileHandset" column="HandsetId" />

        <many-to-one name="JeanieUserTyped" class="JeanieUserTyped">
            <column name="Mobile" />
            <column name="ApplicationId" />
        </many-to-one>

    </class>
</hibernate-mapping>

1 Ответ

1 голос
/ 10 ноября 2008

Можете ли вы дать более подробную информацию, звучит так, как будто у вас есть 3 объекта,

Пользователь SubThing NewThing

Где NewThing разрешает «многие ко многим» с помощью пользователя и «SubThing» - я рядом?

Может быть, так:

User         -<  SubThing
 |                   | 
 /\                  /\
        NewThing

Не думаю, что составные ключи в nhibernate актуальны?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...