我正在使用SchemaUpdate
将我的hbms
与现有数据库同步。数据库最近基于hbms
创建,并且完全是最新的。但SchemaUpdate
再次生成所有外键约束。
例如,假设您有Student
和Teacher
。 Student
与名为Teacher
的{{1}}有关联。 ArtTeacher
是从ArtTeacher
到Student
的外键。假设数据库是最新的并且当前持有Teacher
,Student
及其外键关系。因此Teacher
和HBM
是等效的。知道Database
一定不能做任何事情,但是当我看到它生成的脚本时,它会再次重新生成该外键。
为什么会这样?有什么方法可以避免吗?
答案 0 :(得分:1)
秘诀是确保为外键指定名称,否则NHibernate将生成一个与现有模式不匹配的随机名称。
(我从Afshar博客文章的Google缓存中找到了这个答案)。