NHibernate - составной идентификатор - 3 - PullRequest
2 голосов
/ 01 февраля 2010

У меня есть класс в hbm-файле Nhibernate, и для этого я использую составное поле идентификатора следующим образом:

 <composite-id>
    <key-many-to-one name="DContent" class="Business.Entities.DContent, Business" column="DId" />
    <key-many-to-one name="Structure" class="Business.Entities.Structure, Business" column="RId"/>
    <key-property name="Language"></key-property>
 </composite-id>

</class>

, где DContent & Structure - это классы иЯзык - это int.

Я переписал методы Equals & GetHashCode, чтобы отслеживать 3 объекта в составном ключе, но обнаружил, что при создании таблицы только в базе данныхдва DId & RId являются частью первичного ключа, а не языка.

Мой вопрос: Почему NHibernate не видит, что язык является частью первичного ключа ??

Спасибо, Каталин

...