В чем разница между session.Merge и session.SaveOrUpdate?

Насколько я понимаю, merge() возьмет nhibernate объект, который может быть nhibernate не связан с текущей сессией, и nhibernate скопирует его состояние (значения nhibernate свойств и т.п.) в объект, который session связан с текущей сессией (с той sessions же PK значение/идентификатор, разумеется).

saveOrUpdate() вызовет sessions Сохранить или Обновить в вашем сеансе на основе sessions значения идентификатора данного sessions объекта.

nhibernate

session

2022-07-26T14:53:28+00:00