Удаленный объект будет повторно сохранен каскадом (удалить удаленный объект из ассоциаций) в nhibernate
Я продолжаю получать эту ошибку при попытке удалить запись из моей таблицы. Вставка и обновление отлично работают, кроме удаления.
Вот мои настройки:
Отображения:
HasMany(x => x.Items).AsList().AsBag().LazyLoad().Cascade.AllDeleteOrphan();
GetMethod:
IRepositoryWithTypedId<BOD.Entities.Item, Guid> Rep = RepositoryFinder.For<BOD.Entities.Item, Guid>();
BOD.Entities.Item tag = Rep.Get(new Guid("0A495241-082F-4314-8B79-000A524FC666"));
Rep.Delete(tag);
Я также пытался использовать:
Repository().DbContext.CommitTransaction();
Repository().DbContext.CommitChanges();
Эти два все еще вызывают ошибки. У кого-нибудь есть предложения?
1 ответ
Решение
Это потому что tag
содержится в некоторой коллекции, вы должны удалить ее из этой коллекции, чтобы фактически удалить ее. В противном случае, когда вы сохраните собирающую сущность, тег будет сохранен снова.