我遇到了同样的问题,如下所示:
NHibernate - not-null property reference a null or transient value
根本原因就像Alun Harford所说的那样:“你正在保存一个完整的对象图,那个图是循环的”。请参阅以下代码
public class ApplyAuthorization : Activity
{
public virtual ApplyStatus Status { get; set; }
public virtual void Apply(Launch launch)
{
Status = Status ?? new ApplyStatus
{
For = this
};
Status.Update(launch);
}
}
所以这种关系是双向的:ApplyAuthorization - (Status) - > ApplyStatus和ApplyStatus同时 - (For) - > ApplyAuthorization。
现在我知道原因但是如何处理它?</ p>
答案 0 :(得分:0)
我找到根本原因,但不知道。
References(m => m.For).Not.Nullable();
如果我删除了设置Not.Nullable()。
,问题就解决了但是,如果DBA需要Not Null约束,我不知道如何处理。