NHibernate — лучшая стратегия для сопоставления идентификатора, который не является идентификатором

#c# #sql-server #nhibernate

#c# #sql-сервер #nhibernate

Вопрос:

Просто быстрый вопрос, как можно сопоставить первичный ключ, который должен быть назначен вручную (тип данных int). Итак, в базе данных нет идентификатора, если бы код был написан вручную, вы, вероятно, открыли бы транзакцию, заблокировали таблицу, взяли самый высокий идентификатор, увеличили на единицу и вставили запись с новым значением.

Ответ №1:

Установите назначаемый генератор идентификаторов. Дополнительную информацию можно найти на http://barchitect.blogspot.com/2008/07/nhibernate-generator-and-primary-key.html

Ответ №2:

На самом деле, я использовал генератор приращений, о существовании которого я почему-то забыл. У него есть некоторые ограничения в отношении его использования, но на данный момент это соответствует ситуации.