Nhibernate双向一对一(非HasOne)

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

我试图在两个类之间建立一对一的关系(双边引用关系)。这两个属性都不应为null。问题是,当您尝试先保存一个而不是另一个时,我会遇到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用户,但这里的医生就是这么说的