Если у меня есть объект CodeFluent, для которого я хочу создать отдельную / уникальную / другую копию, для которой я могу изменять значения свойств без изменения исходного объекта, могу ли я использовать метод клона объекта для создания нового (копии) исходная сущность, так что связанные (суб) сущности сущности также копируются?
Предположим, у меня есть коллекция продуктов , где у каждого продукта есть коллекция связанных деталей .
- Product01
- Product02
- Part0201
- Part0202
- Part0203
Используя этот код, я загрузил бы «Product01» в cfe_Product и клонировал cfe_Product в cfe_ProductBackup :
Product cfe_Product;
cfe_Product = Product.LoadByEntityKey("Product01");
Product cfe_ProductBackup;
cfe_ProductBackup = cfe_Product.Clone(true);
Если я изменю свойство description для cfe_Product и cfe_ProductBackup
cfe_Product.description = "aaaa";
cfe_ProductBackup.description = "bbbb";
результаты ожидаемые. То есть описания для cfe_Product и cfe_ProductBackup различны.
Если я изменю описание соответствующих частей
cfe_Product.relatedPart(0).description = "cccc";
cfe_ProductBackup.relatedPart(0).description = "dddd";
оба .relatedPart (0) описания ( cfe_Product и cfe_ProductBackup ) одинаковы, "dddd".
Как использовать метод клонирования для создания глубокой копии - нового объекта Product с новыми новыми связанными Part объектами, которые являются копиями данных оригинала?
Заранее спасибо за помощь!