Настройка hilo "не удалось получить или обновить следующее значение [SQL:]" - PullRequest
1 голос
/ 11 ноября 2010

Я хочу настроить NHibernate на генератор hilo, но следующая конфигурация выдает исключение GenericADO, говорящее «не удалось получить или обновить следующее значение [SQL:]». Если класс генератора имеет значение «identity», он работает как положено.

Примечание. Я установил «Идентичность» на «Нет» на конце SQL Server при использовании генератора hilo.

<class name="Model.Session, Domain" table="Session">
  <id name="SessionID" column="SessionId" type="Int32">
    <!--<generator class="identity" />-->
    <generator class="hilo" /
  </id>
  <property name="SessionToken" column="SessionToken" type="String" length="80"/>
  <property name="UserID" column="UserId" type="Int32"/>
</class>

1 Ответ

2 голосов
/ 11 ноября 2010

Возможно, таблица, которую NHibernate использует для получения "низких" значений с сервера, не была создана ни вручную, ни путем генерации схемы.

Основная идея состоит в том, что у вас есть два цифры, чтобы составить первичный ключ- «высокий» номер и «низкий» номер. клиент может в основном увеличивать «высокая» последовательность, зная, что может затем безопасно генерировать ключи из весь диапазон предыдущего "максимума" значение с разнообразием «низкий» значения.

...