NHibernate SchemaUpdate снова добавить существующие внешние ключи? - PullRequest
9 голосов
/ 28 октября 2010

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

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

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

1 Ответ

1 голос
/ 29 мая 2017

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

(Я нашел этот ответ из Google Cacheсообщения в блоге Афшара).

...