Codefluent Entity с клонированием связанных объектов - PullRequest
0 голосов
/ 18 сентября 2018

Если у меня есть объект CodeFluent, для которого я хочу создать отдельную / уникальную / другую копию, для которой я могу изменять значения свойств без изменения исходного объекта, могу ли я использовать метод клона объекта для создания нового (копии) исходная сущность, так что связанные (суб) сущности сущности также копируются?

Предположим, у меня есть коллекция продуктов , где у каждого продукта есть коллекция связанных деталей .

  • Product01
    • Part0101
    • Part0102
  • 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 объектами, которые являются копиями данных оригинала?

Заранее спасибо за помощь!

...