Я не знаю ничего встроенного в nhibernate, что бы делать то, что вы после.
Предупреждение о взломе впереди
Я не пробовал этого, так что я просто размышляю о том, как nhibernate отслеживает объекты.
В зависимости от графа объектов вы можете сбросить версию (если таковая имеется) и вернуться обратно к значению по умолчанию, указанному в отображении, и это должно создать клон, поскольку он сбрасывает, как nhibernate отслеживает объект, и при сохранении ему будет дано новый идентификатор. Также обратите внимание, что любые вложенные сопоставленные объекты также должны быть проделаны так же, чтобы получить глубокий клон.
Если бы это был я, я бы, вероятно, применил метод клонирования к объекту, который возвращает новый объект с копией свойств и т. Д.
Некоторые другие ответы на SO предлагают использовать Automapper Как клонировать объекты в NHibernate?