nhibernate SaveOrUpdate - легко определить, какая из операций будет выполнена - PullRequest
1 голос
/ 13 июня 2011

Я новичок в nhibernate.Я занимаюсь разработкой небольшого приложения на c #, используя шаблон репозитория.В моем репозитории я реализовал простой хук, чтобы определить, когда объект сохраняется.Я вызываю обработчик событий объекта, чтобы выполнить любую операцию, которая может понадобиться объекту.

Моя проблема в том, что я также использую метод SaveOrUpdate.Поскольку мне просто нужно вызвать обработчик событий только для операций сохранения, я не могу отличить сохранение или обновление в вызове SaveOrUpdate.

Итак, вкратце, есть ли какой-нибудь простой способ выяснить, какие операции будут выполняться - это будет сохранение или обновление?

1 Ответ

6 голосов
/ 13 июня 2011

nHibernate вызовет метод Save, если идентификатор объекта не установлен, в противном случае вызовет метод Update.

Смотрите здесь:

SaveOrUpdate Vs Update и Save в NHibernate

"SaveOrUpdate () просматривает идентификатор и решает, что необходимо в приведенном выше."

...