不带外键的 NHibernate 映射参考



我在NHibernate中有这样的映射情况:

ClassA
mapping.Id(x => x.Id).Column("rowid").GeneratedBy.Identity().Unique();
ClassB
mapping.Id(x => x.Id).Column("rowid").GeneratedBy.Identity().Unique();
mapping.References<ClassA>(x => x.ClassA).Nullable();

当 NHibernate 生成数据库架构时,它会在这些表之间创建一个外键,即使我在映射声明中指定了"Nullable"属性也是如此。令人讨厌的是,如果我尝试保存我的对象,我会收到一个外键约束错误,如果我从数据库中手动删除外键,它就像一个魅力。

如何告诉NHibernate在这种情况下不要创建外键脚本?

我认为您应该在hbm.xml映射文件中使用 foreign-key="none" 属性。

最新更新