session.Save() を呼び出すと、save() に渡された初期化されていないプロキシが原因で、NHibernate.PersistentObjectException が発生し続けます。カスケード設定をいじると、それを消すことができますが、子オブジェクトが保存されません。
私が見つけた他の唯一の修正は、DefaultSaveEventListener に以下を追加することです。
protected override bool ReassociateIfUninitializedProxy(object obj, global::NHibernate.Engine.ISessionImplementor source)
{
if (!NHibernateUtil.IsInitialized(obj))
NHibernateUtil.Initialize(obj);
return base.ReassociateIfUninitializedProxy(obj, source);
}
これは明らかに理想的なソリューションではありません。
何か案は?