Как можно изменить первичный ключ с помощью NHibernate - PullRequest
0 голосов
/ 01 мая 2010

Я хочу изменить первичный ключ объекта в базе данных, чтобы также обновлялись все соответствующие ограничения внешнего ключа. / Мы используем NHibenate в качестве нашего ORM.

Возможно ли это сделать?

Спасибо.

приписка

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

Ответы [ 2 ]

1 голос
/ 02 мая 2010

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

0 голосов
/ 02 мая 2010

Нет, это невозможно. NHibernate будет жаловаться, если вы попытаетесь это сделать.

Единственный способ сделать это "из" NHibernate - использовать CreateSQLQuery.

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