我在调用 session.Save() 时不断收到 NHibernate.PersistentObjectException,这是由于传递给 save() 的未初始化代理。如果我摆弄我的级联设置,我可以让它消失,但子对象不会被保存。
我发现的唯一其他解决方法是将以下内容添加到我的 DefaultSaveEventListener。
protected override bool ReassociateIfUninitializedProxy(object obj, global::NHibernate.Engine.ISessionImplementor source)
{
if (!NHibernateUtil.IsInitialized(obj))
NHibernateUtil.Initialize(obj);
return base.ReassociateIfUninitializedProxy(obj, source);
}
这显然不是一个理想的解决方案。
有任何想法吗?