В настоящее время я работаю над новым проектом ASP.NET MVC, в котором нам нужно сгенерировать оценку стоимости проекта.
Мы используем NHibernate, ASP.NET MVC 1.0 и StructureMap.
Клиент хочет, чтобы была возможность заполнить всю информацию о проекте, информация находится на разных страницах, и мы должны сохраняться между каждым постом обратно.
Клиент не хочет иметь возможность сохранить его под именем, когда оно будет завершено, но мы хотим сохранить его в базе данных, даже если он еще не сохранил его. Итак, у нас появилась идея создать «Режим черновика», чтобы пользователь начал работать над своим проектом, заполнил все страницы и он был сохранен в базе данных с включенным «Черновым режимом».
Но нам нужно управлять черновиками, я имею в виду, когда пользователь начнет редактировать существующий проект, нам нужно будет создать его копию, перевести объект и все его дочерние элементы в режим черновиков и создать его копию в нашей базе данных. Нам нужно будет изменить все ссылки от детей.
Итак, я пытаюсь найти лучший способ глубокого копирования объектов и изменения всех ссылок,
Я бы предпочел не создавать класс копирования для каждой сущности, которую мне придется копировать, возможно, что-то более общее, если это возможно.
Пожалуйста, дайте мне знать, если вам нужна дополнительная информация или если что-то неясно.
Спасибо
Charles