Я пытаюсь выяснить, почему NHibernate обрабатывает каскадирование один-ко-многим (используя cascade = all-delete-orphan), как он это делает. Я столкнулся с той же проблемой, как этот парень:Почему NHibernate не удаляет сирот сначала?
Forcing NHibernate to cascade delete before inserts
Насколько я могу сказать, NHibernate всегда выполняет вставки, а затем обновления, а затем удаляет. Для этого может быть очень веская причина, но я не могу для жизни понять, что это за причина. Я надеюсь, что лучшее понимание этого поможет мне придумать решение, которое я не ненавижу :)
Есть ли хорошие теории в этом поведении? В каком сценарии лишение сирот сначала не будет работать? Все ли ОРМ работают таким образом?
Просто хочу добавить свое разочарование в этот вопрос. В этом случае NHibernate является абсолютной ошибкой. Я весь день боролся с этой глупой проблемой. Даже самые простые ORM обрабатывают это намного более изящно, чем NHibernate. Я закончил тем, что должен был полностью прописать это.Мы с тобой оба что-то пропустили. – JasonCoder