c# - 没有外键的 NHibernate 映射引用

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

最佳答案

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

关于c# - 没有外键的 NHibernate 映射引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12432578/

相关文章:

c# - 将 System.Linq.IOrderedEnumerable<T> 转换为 List<T>

c# - Nhibernate对guid的相等限制

c# - NHibernate 的 T4 模板? - 不流利的 NHibernate

nhibernate - 流畅的 NHibernate 连接表映射

c# - 使用 CaSTLe ActiveRecord,当两个类具有相同名称但命名空间不同时,我得到一个 NHibernate DuplicateMappingException

c# - 如何让 NUnit 测试等待线程完成?

c# - WPF 在 MouseOver 上更改路径填充

c# - 下一行继续代码

NHibernate:IUserType 不工作

java - 如何使用 Hibernate 保存绑定(bind)到另一个对象的持久对象列表