NHibernate SchemaUpdate снова добавляет существующие внешние ключи?

Я использую SchemaUpdate для синхронизации моего hbms с существующей базой данных. База данных недавно создана на основе hbms и полностью обновлена. Но SchemaUpdate снова генерирует все ограничения внешнего ключа.

Например, предположим, что у вас есть Student и Teacher. Student связан с Teacher с именем ArtTeacher. ArtTeacher - это внешний ключ от Student до Teacher. Предположим, что база данных обновлена ​​и в настоящее время содержит Student, Teacher и их отношения внешнего ключа. Итак, HBM и Database эквивалентны. Знайте, что SchemaUpdate не должен ничего делать, но когда я вижу его сгенерированные скрипты, он снова воспроизводит этот внешний ключ.

Почему так происходит? Есть ли способ избежать этого?


person Afshar Mohebi    schedule 28.10.2010    source источник
comment
Мне непонятно, что вы имеете в виду, вы можете привести пример?   -  person UpTheCreek    schedule 31.10.2010
comment
См. Мой обновленный вопрос.   -  person Afshar Mohebi    schedule 01.11.2010
comment
Я тоже это понимаю; У меня есть существующие отношения внешнего ключа, и я запускаю новый SchemaUpdate (config) .Execute (action, false) продолжает его восстанавливать ... Я не могу понять, что я делаю не так ...   -  person David Alpert    schedule 27.12.2010


Ответы (1)


Секрет заключается в том, чтобы убедиться, что вы указали имена для внешних ключей, иначе NHibernate сгенерирует случайное имя, которое не будет соответствовать существующей схеме.

(Я выудил этот ответ из сообщения блога Google Cache of Afshar).

person cbp    schedule 28.05.2017