protected override void PrepareData(AUObjectOperationContext context)
        {
            AUCommon.DoDbAction(() =>
            {
                this.schema = (AUSchema)SchemaObjectAdapter.Instance.Load(((AdminUnit)Data).AUSchemaID);

                if (this.schema == null || this.schema.Status != SchemaObjectStatus.Normal)
                {
                    throw new AUObjectValidationException(AUCommon.DisplayNameFor((AdminUnit)this.Data) + "管理单元的SchemaID无效,无法找到对应的Schema。");
                }
            });

            this.PrepareRelationObject();

            base.PrepareData(context);

            var oldObject = (AdminUnit)SCActionContext.Current.OriginalObject;

            if (oldObject != null && oldObject.AUSchemaID != this.schema.ID)
            {
                throw new AUObjectValidationException("一旦创建,不能以任何方式修改AdminUnit的AUSchema属性");
            }

            this.existingSchemaRoles = Adapters.AUSnapshotAdapter.Instance.LoadAUSchemaRoles(schema.ID, false, DateTime.MinValue);
            this.existingUnitRoles   = Adapters.AUSnapshotAdapter.Instance.LoadAURoles(new string[] { this.Data.ID }, new string[0], false, DateTime.MinValue);
            this.existingUnitScopes  = Adapters.AUSnapshotAdapter.Instance.LoadAUScope(this.Data.ID, false, DateTime.MinValue);

            this.pendingActions.Clear();
            PrepareRolesAndScopes();
        }
        protected override void PrepareData(AUObjectOperationContext context)
        {
            AUCommon.DoDbAction(() =>
            {
                this.schema = (AUSchema)SchemaObjectAdapter.Instance.Load(((AdminUnit)Data).AUSchemaID);

                if (this.schema == null || this.schema.Status != SchemaObjectStatus.Normal)
                    throw new AUObjectValidationException(AUCommon.DisplayNameFor((AdminUnit)this.Data) + "管理单元的SchemaID无效,无法找到对应的Schema。");
            });

            this.PrepareRelationObject();

            base.PrepareData(context);

            var oldObject = (AdminUnit)SCActionContext.Current.OriginalObject;

            if (oldObject != null && oldObject.AUSchemaID != this.schema.ID)
                throw new AUObjectValidationException("一旦创建,不能以任何方式修改AdminUnit的AUSchema属性");

            this.existingSchemaRoles = Adapters.AUSnapshotAdapter.Instance.LoadAUSchemaRoles(schema.ID, false, DateTime.MinValue);
            this.existingUnitRoles = Adapters.AUSnapshotAdapter.Instance.LoadAURoles(new string[] { this.Data.ID }, new string[0], false, DateTime.MinValue);
            this.existingUnitScopes = Adapters.AUSnapshotAdapter.Instance.LoadAUScope(this.Data.ID, false, DateTime.MinValue);

            this.pendingActions.Clear();
            PrepareRolesAndScopes();
        }