У меня проблема с 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 (Объект
объект) + 152
Итак, у меня есть сводный корень и коллекция объектов. При сохранении изменений я вызываю save только для совокупного корня. Дочерний класс не имеет ссылки на общий корень.
<bag name="Children" cascade="all-delete-orphan" where="IsDeleted = 0" lazy="true">
<key column="abcId"/>
<one-to-many class="abc"/>
</bag>
Теперь появляется ошибка, когда я собираю детей для сохранения из пользовательского интерфейса, например:
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. Дети перед сохранением, это работает.
Любой