HiLo: как контролировать низкие значения

Я использую генератор HiLo в своем проекте S#rpArchitecture/NHibernate и выполняю большой пакет импорта.

Я где-то читал о возможности предсказать значения Low для любых новых записей, потому что они генерируются на клиенте. Я полагаю, это означает, что я могу контролировать значения Low самостоятельно или, по крайней мере, получить следующее значение Low откуда-нибудь.

Причина, по которой я хочу использовать это, заключается в том, что я хочу установить отношения с другими объектами, которые я собираюсь вставить. Они еще не существуют, но будут вставлены до завершения пакетной транзакции.

Однако я не могу найти информацию о том, как установить значения Low или как получить значение Low ниже.

Есть идеи?

1 ответ

Решение

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

Преимущество использования HiLo заключается в том, что идентификаторы генерируются на стороне клиента (в любом случае прозрачными для вас), поэтому единица работы сохраняется (запись в БД не выполняется до сброса / фиксации), в отличие от идентификации, где вставки выполняются немедленно.

Рекомендуем прочитать: http://fabiomaulo.blogspot.com/2009/02/nh210-generators-behavior-explained.html

Другие вопросы по тегам