【问题标题】:NHibernate Mapping Reference without foreign-key没有外键的 NHibernate 映射参考
【发布时间】:2012-09-15 06:09:19
【问题描述】:

我在 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 不要创建外键脚本?

【问题讨论】:

    标签: c# nhibernate nhibernate-mapping


    【解决方案1】:

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

    【讨论】:

    • 太棒了!你给我指明了正确的方向!我发现了这个:stackoverflow.com/a/2827246/735864
    • 不客气。还请看not-found="ignore|exception":指定如何处理引用缺失行的外键:ignore 会将缺失的行视为空关联。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-31
    • 2014-04-19
    • 2011-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多