2010-01-03 2 views
21

Что Каскад в Nhibernate означает?Nhibernate Каскад

Я вижу много вариантов в каскадном:

  • Удалить
  • Все
  • AllDeleteOrphan
  • DeleteOrphan
  • SaveUpdate

Можете ли вы объяснить это с примерами и их отличия?

ответ

25

Это означает применение действия к связанным с ним товарам.

Пожалуйста, см: NHibernate Cascades: the different between all, all-delete-orphans and save-update:

  • нет - не делать никаких каскадов, пусть пользователей справиться с ними самостоятельно.

  • копи-обновления - когда объект сохранен/обновлено, проверьте ассоциации и сохранить/обновить любой объект, который требует (в том числе сохранения/обновления ассоциации во многих ко многим сценарию).

  • delete - когда объект удален, удалите все объекты в ассоциации.

  • delete-orphan - , когда объект удален, удалите все объекты в ассоциации. В дополнение, когда объект удален из ассоциации, а не , связанный с другим объектом (осиротевший), также удалите его.

  • все - когда объект сохраняет/обновляет/удаляет, проверяет ассоциации и сохранять/обновлять/удалять все найденные объекты.

  • all-delete-orphan - когда объект сохранить/обновить/удалить, проверить ассоциации и сохранить/обновить/удалить все найденные объекты. В дополнении к , когда объект удален из ассоциации и не связан с другим объектом (осиротевшим), также удалите его.

+1

Я не понимаю разницу между всеми и все-удалить-сироту могли бы вы объяснить? – joncodo

+1

@JonathanO, если вы выберете все, а затем вы удалите ассоциацию, это приведет к удалению ассоциации, а не связанного с ней объекта. , если вы выберете all-delete-orphan, кроме того, он также удалит связанный объект. – iboware

Смежные вопросы