没有外键的NHibernate Mapping Reference

时间:2012-09-14 22:05:43

标签: c# nhibernate nhibernate-mapping

我在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在这种情况下不创建外键脚本?

1 个答案:

答案 0 :(得分:5)

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