Родительский ребенок (сохранить, обновить и удалить) - PullRequest
2 голосов
/ 20 июля 2009

У меня есть две таблицы, настроенные как «Родитель / ребенок», например, «Клиент» и «Адрес» (содержащие либо одну запись, которая является одновременно записью об оплате и отгрузке, либо две записи - одну запись об оплате и одну отгрузку). Сохранение нового родительского ребенка не является проблемой. Проблема возникает, когда пользователь должен обновить свои данные. У него есть два адреса, которые он указал при регистрации. Теперь на экране редактирования он говорит, что его платежный адрес совпадает с адресом доставки. Как мне удалить второй адрес, а также обновить его данные в другом адресе и его данные клиента.

Спасибо за вашу помощь.

1 Ответ

1 голос
/ 20 июля 2009

Вы делаете это в транзакции.

begin transaction
    delete second address.
    update first address
    update other details.
end transaction

Пример, который вас может заинтересовать на этой странице:

// foo is an instance loaded by a previous Session
foo.Property = "bar";
session = factory.OpenSession();
transaction = session.BeginTransaction();
session.SaveOrUpdate(foo);
session.Flush();
transaction.Commit();
session.Close();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...