C# 无外键的NHibernate映射引用
我在NHibernate有类似的映射情况:C# 无外键的NHibernate映射引用,c#,nhibernate,nhibernate-mapping,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(); C
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();
ClassA
mapping.Id(x=>x.Id).Column(“rowid”).GeneratedBy.Identity().Unique();
B类
mapping.Id(x=>x.Id).Column(“rowid”).GeneratedBy.Identity().Unique();
mapping.References(x=>x.ClassA).Nullable();
当NHibernate生成数据库模式时,它会在这些表之间创建一个外键,即使我在映射声明中指定了“Nullable”属性。很明显,如果我试图保存我的对象,我会得到一个外键约束错误,如果我手动从数据库中删除外键,它就像一个符咒
在这种情况下,如何告诉NHibernate不要创建外键脚本 我认为您应该在
hbm.xml
映射文件中使用foreign key=“none”
属性。太好了!你给我指明了正确的方向!我发现了这一点:不客气。同时查看notfound=“ignore | exception”
:指定如何处理引用缺失行的外键:ignore将缺失行视为空关联。