/// <summary> /// 复制一个实体 /// </summary> /// <param name="entityID">实体ID</param> /// <param name="category">类别ID</param> /// <returns></returns> private string CopyChildEntity(string entityID, string category) { string codeName = string.Empty; #region 实体创建新实体及其子实体,。 //待复制的实体 DynamicEntity oldEntity = DESchemaObjectAdapter.Instance.Load(entityID) as DynamicEntity; //要复制的实体 DynamicEntity entity = DESchemaObjectAdapter.Instance.Load(entityID) as DynamicEntity; List <FieldIDMapping> listMappingField = new List <FieldIDMapping>(); //复制指标实体 foreach (var item in entity.Fields) { if (item.FieldType == FieldTypeEnum.Collection) { DynamicEntity childEntity = DEDynamicEntityAdapter.Instance.LoadByCodeName(item.ReferenceEntityCodeName) as DynamicEntity; item.ReferenceEntityCodeName = CopyChildEntity(childEntity.ID, category); } } //从新NEW当前实体及其子表的ID和VersionTime,从而创建一个新的实体 entity.BuildNewEntity(category); #endregion //新实体入库 this.AddEntity(entity); codeName = entity.CodeName; return(codeName); }