Свободное отношение Nhibernate ко многим, используя суррогатный первичный ключ - PullRequest
1 голос
/ 18 января 2011

В моем приложении много-много отношений, и я свободно использую nhibernate.

Имя входа может иметь много ролей.(Роль также может иметь много имен входа).

Я видел много примеров использования составного первичного ключа.

        HasManyToMany<Role>(x => x.Roles).Table("Role")
            .ParentKeyColumn("RoleId")
            .ChildKeyColumn("LoginId");

Знаете ли вы, поддерживает ли Fluent / NHibernate отношения «многие ко многим» безимеющий ассоциативный объект базы данных (Login_Role), требующий составного первичного ключа.

Я бы предпочел, чтобы Login_Role использовал суррогатный первичный ключ.

Приветствия, Эндрю

alt text

1 Ответ

3 голосов
/ 18 января 2011

Вы можете использовать idbag :

<idbag name="Roles" table="Login_Role">
  <collection-id type="int" column="id">
    <generator class="hilo"/>
  </collection-id>
  <key column="LoginId"/>
  <many-to-many class="Role" column="RoleId"/>
</idbag>

Я не думаю, что Fluent разоблачает его.

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