Как клонировать объекты в NHibernate?
Как реализовать клонирование объектов (сущностей) в NHibernate? Каждый класс сущности обладает такими свойствами:
public virtual IList<Club> Clubs { get; set; }
Кроме того, класс entity наследует BaseObject.
Я попытался реализовать решение с использованием сериализации XML, но сериализовать интерфейсы невозможно.
Спасибо за ваши ответы!
Ответы
Ответ 1
AutoMapper http://automapper.codeplex.com/ решает мою проблему.
Например, можно клонировать бизнес-объект следующим образом:
Mapper.CreateMap<Transaction, Transaction>();
var newtransact = new Transaction();
Mapper.Map(transact, newtransact);
Ответ 2
Использовать DTO.
Ответ 3
Я не знаю вашего домена или требований, и не понимаю ли я ваши потребности, но реализую ICloneable interface и записывая код для клонирования вашего объекта должен работать.
Помните, что при клонировании вам придется набирать текст.
ClonedObject clonedObjectinstance = (ClonedObject)initialEntityInstance.Clone();