Я хочу изменить первичный ключ объекта в базе данных, так что все соответствующие ограничения внешнего ключа также обновляются./Мы используем NHibenate в качестве нашего ORM.Как изменить первичный ключ с помощью NHibernate
Возможно ли это?
Спасибо.
P.S.
Я знаю, что практика изменения первичного ключа сильно обескуражена. Моя проблема заключается в том, что мой первичный ключ поддерживается естественным идентификатором объекта, который может иногда меняться. Теоретически мы могли бы использовать уникальный первичный ключ, не связанный с естественным ключом объекта, но это слишком усложняет ситуацию в других местах, поэтому это не вариант.
Я хотел бы знать, как это «слишком усложняет ситуацию в других местах». Я использовал суррогатные ключи (а иногда и естественные ключи) для * лет * и почти всегда обнаружил, что он * упрощает * вещи. – Aaronaught
Ну, используя суррогатные ключи потребует, чтобы сервер выполнял дополнительные поисковые запросы в базе данных или поддерживал локальный кеш определенных объектов. Это была слишком большая работа, пока не наступила необходимость изменить естественные ключи. Думаю, мне пришлось бы переключиться на суррогатные ключи и просто усвоить сложность. – mark