Как мы можем выполнить пользовательский метод во время выполнения Cascade = "Delete"? - PullRequest
1 голос
/ 12 января 2009

Например, у меня есть две сущности, "RealEstate" и "Picture". RealEstate содержит коллекцию изображений. В файле сопоставления RealEstate содержит сумку для картинок, а каскад «Удалить».

Если вы удалите RealEstate, будут удалены все связанные изображения. Но есть ли способ выполнить пользовательский метод для удаления изображений с веб-сервера.

Я сделал это, присвоив cascade="none", и когда я удаляю RealEstate, я сначала проверяю, есть ли изображения, связанные с ним, если есть, я вызываю для этого метод DeletePicture().

Мне интересно, что вы делаете в подобных ситуациях?

Ответы [ 2 ]

2 голосов
/ 12 января 2009

Вы можете написать перехватчик и реализовать метод OnDelete , который будет выполняться при удалении изображения.

1 голос
/ 12 января 2009

Если вы используете nhibernate 2.0, новый и лучший способ - использовать события.

Статья о событиях nhibernate 2.0

...