NHibernate 3.3: составной идентификатор с генерируемым ключом-свойством?

Я читал, что это отображение невозможно в NHibernate 3.3:

<class name="Digital" table="DIGITALS">
    <composite-id>
      <key-many-to-one name="Person" class="Person" column="PERSONID" />
      <key-property name="Id" column="ID">
        **<generator class="increment"/>**
      <key-property/>
    </composite-id>
    <property name="Nombre" column="NOMBRE" />

По сути, мне нужно, чтобы свойство составного идентификатора автоматически вычислялось NH.

Может быть, существует методика получения чего-то подобного?

Заранее спасибо.

1 ответ

Решение

Вы должны реализовать это самостоятельно, так как CompositeIds всегда генерируются назначенными для NH

class Digital
{
    private static long number = 0;

    private static long NextNumber()
    {
        return Interlocked.Increment(ref number);
    }

    public Digital()
    {
        Id = NextNumber();
    }
}
Другие вопросы по тегам