uCommerce NHibernate.ObjectDeletedException: удаленный объект будет повторно сохранен каскадом
Мы используем Umbraco с uCommerce для создания портала B2B
Прислонись спиной к стене с проблемой удаления сущности nHibernate. Всякий раз, когда я пытаюсь удалить SKU продукта (который имеет 3 варианта SKU) из пользовательского интерфейса бэк-офиса uCommerce, мы получаем исключение ниже. Как предполагает исключение, попытались удалить все ассоциации в других классах карты сущностей, но не повезло.
Интересно то, что если я не использую транзакцию scope(_session.BeginTransaction())
в объекте сеанса nHibernate удаление проходит без каких-либо исключений.
Так что мой вопрос / путаница на самом деле заключается в том, что nHibernate по-разному вызывает это исключение при использовании области транзакции?
Exception Details: NHibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations)[UCommerce.EntitiesV2.Product#105]
Stack Trace:
[ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations)[UCommerce.EntitiesV2.Product#105]]
NHibernate.Impl.SessionImpl.ForceFlush(EntityEntry entityEntry) +653
NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.EntityIsTransient(SaveOrUpdateEvent event) +296
NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.PerformSaveOrUpdate(SaveOrUpdateEvent event) +413
NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.OnSaveOrUpdate(SaveOrUpdateEvent event) +845
NHibernate.Impl.SessionImpl.FireSaveOrUpdate(SaveOrUpdateEvent event) +327
NHibernate.Impl.SessionImpl.SaveOrUpdate(String entityName, Object obj) +223
NHibernate.Engine.SaveUpdateCascadingAction.Cascade(IEventSource session, Object child, String entityName, Object anything, Boolean isCascadeDeleteEnabled) +257