我遇到了NHibernate的問題。該錯誤消息是:Nhibernate:未初始化的代理傳遞給保存
未初始化代理傳遞給保存
[PersistentObjectException: 未初始化代理傳遞給保存()。 對象: ...... Domain.Model ......] NHibernate.Event.Default.DefaultSaveEventListener.ReassociateIfUninitializedProxy(對象 OBJ,ISessionImplementor源)104 NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.OnSaveOrUpdate (SaveOrUpdateEvent 事件)+90
NHibernate.Impl.SessionImpl.FireSaveOrUpdate(SaveOrUpdateEvent 事件)+156
NHibernate.Impl.SessionImpl.SaveOrUpdate(對象 OBJ)+152
所以我要做的就是,我有一個聚合根在那個對象的集合中。保存更改時,我只保存聚合根目錄。子類沒有引用聚合根。
<bag name="Children" cascade="all-delete-orphan" where="IsDeleted = 0" lazy="true">
<key column="abcId"/>
<one-to-many class="abc"/>
</bag>
現在,當我收集了一些兒童被從UI像保存時出現錯誤:
root = repository.GetRootById(id)
// collect children from data list
abc = repository.GetAbcById(abcId)
abc.Name = textName.Text;
...
// no root.Children.Add(abc) is performed here, since abc already is a child of root
repository.Save(root);
...
Exception occurs
現在,如果我訪問root.Children保存之前,它的工作原理。
有人嗎?