/// <summary> /// 转移移除的列表到当前集合中。 /// </summary> /// <param name="source"></param> void IEntitySetInternalExtension.ShiftDetachedList(IEntitySetInternalExtension source) { foreach (var item in source.GetDetachedList()) { detachedList.Add((TEntity)item); } }
private static void FillDataTableRows(DataTable table, IEntitySetInternalExtension extendList, IList <IProperty> properties, bool hasPrmKey) { FillDataTableRows(table, extendList.GetAttachedList(), properties, hasPrmKey, EntityState.Attached); FillDataTableRows(table, extendList.GetModifiedList(), properties, hasPrmKey, EntityState.Modified); FillDataTableRows(table, extendList.GetDetachedList(), properties, hasPrmKey, EntityState.Detached); extendList.Reset(); }
private void Save(IEntitySetInternalExtension entitySet) { foreach (IEntity entity in entitySet.GetAttachedList()) { Create(entity); } foreach (IEntity entity in entitySet.GetModifiedList()) { Update(entity); } var fakePro = EntityMetadataUnity.GetEntityMetadata(entitySet.EntityType).DeleteProperty; foreach (IEntity entity in entitySet.GetDetachedList()) { Remove(entity, fakePro); } entitySet.Reset(); }