如果我有一个CodeFluent实体,我想为其创建一个单独的/唯一的/不同的副本,可以在不更改原始实体的情况下更改属性值,则可以使用该实体的clone方法来创建一个新的(副本)原始实体,以便该实体的相关(子)实体也被复制?
假设我有一个 Products 集合,其中每个产品都有一个相关的 Parts 集合。
使用此代码,我将“ Product01”加载到 cfe_Product 中,并将 cfe_Product 克隆到 cfe_ProductBackup 中:
Product cfe_Product;
cfe_Product = Product.LoadByEntityKey("Product01");
Product cfe_ProductBackup;
cfe_ProductBackup = cfe_Product.Clone(true);
如果我更改 cfe_Product 和 cfe_ProductBackup
的 description 属性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 实体,这些实体是原始数据的副本?>
提前感谢您的帮助!