Nhibernate双向一对一(非HasOne)
我试图在两个类之间建立一对一的关系(双边引用关系)。这两个属性都不应为null。问题是,当您尝试先保存一个而不是另一个时,我会遇到Null或瞬态值错误Nhibernate双向一对一(非HasOne),nhibernate,fluent-nhibernate,Nhibernate,Fluent Nhibernate,我试图在两个类之间建立一对一的关系(双边引用关系)。这两个属性都不应为null。问题是,当您尝试先保存一个而不是另一个时,我会遇到Null或瞬态值错误 class A { C C {get;set;} } class C { A A {get;set;} } class AMapping : ClassMap<A> { AMapping() { References(x=>x.C) .Not.Null
class A
{
C C {get;set;}
}
class C
{
A A {get;set;}
}
class AMapping : ClassMap<A>
{
AMapping()
{
References(x=>x.C)
.Not.Nullable();
}
}
class CMapping : ClassMap<C>
{
CMapping()
{
References(x=>x.A)
.Not.Nullable();
}
}
A类
{
C{get;set;}
}
C类
{
A{get;set;}
}
类映射:类映射
{
AMapping()
{
参考文献(x=>x.C)
.Not.Nullable();
}
}
类映射:类映射
{
CMapping()
{
参考文献(x=>x.A)
.Not.Nullable();
}
}
我理解,由于NHibernate无法引用一个不存在的对象(在数据库中),但是否有一种模式或功能可以用来规避此限制?尝试在多对一映射的一侧设置cascade=“none”。比如:
References(x=>x.C)
.Not.Nullable()
.Cascade.None();
尝试在多对一映射的一侧设置cascade=“none”。比如:
References(x=>x.C)
.Not.Nullable()
.Cascade.None();
这不是多对一,只是一对一在流利的NH,参考文献是多对一对吗?我不是一个流利的NH用户,但这里的文档就是这么说的。在流利的NH中,不是多对一,只是一对一,参考文献是多对一,对吗?我不是一个流利的NH用户,但这里的医生就是这么说的