лучшая стратегия для читабельного идентификатора человека в nhibernate - PullRequest
0 голосов
/ 26 апреля 2010

Что было бы лучшим способом добиться читабельного числа,

в настоящее время Identity установлен на суррогатный ключ.

думал о семени идентичности, но это привело бы к пробелам.

Если бы я генерировал в пределах области транзакции, имел бы эффект параллелизм?

Предпочитает избегать триггера DBCC CHECKIDENT.

спасибо.

Ответы [ 2 ]

2 голосов
/ 27 апреля 2010

Если у вас есть

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

тогда вам нужно реализовать это самостоятельно.

Скорее всего, я бы написал id-Generator, который создает уникальные последовательные идентификаторы. Он должен использовать свой собственный сеанс для хранения самого последнего идентификатора в базе данных. Если у вас есть только один процесс, вы можете создать их в памяти.

1 голос
/ 26 апреля 2010

По сути, для NHibernate существует две оптимальные стратегии генерации идентификаторов: guid.comb и hilo/seqhilo (последняя доступна в СУБД, поддерживающих последовательности)

hilo генерирует интегральные идентификаторы, которые более читабельны, чем идентификаторы GUID, поэтому в данном случае это будет ваш выбор.

Не беспокойтесь о пробелах; они не важны.

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