我正在尝试在两个班级之间建立一对一的关系(双面参考关系)。两个属性都不应该是可空的。问题是当你尝试先将一个保存在另一个上时,我会遇到Null或Transient值错误。
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();
}
}
我明白,因为NHibernate还不能引用一个不存在的对象(在数据库中),但是我是否可以使用一种模式或功能来规避这种限制?
答案 0 :(得分:0)
尝试设置cascade =&#34; none&#34;在多对一映射的一侧。类似的东西:
References(x=>x.C)
.Not.Nullable()
.Cascade.None();