protected override void ExecuteProcedure() { var disk = VirtualDiskCommon.LoadByMirroring(_diskId); var file = VirtualFileCommon.FindById(_fileId, QueryLevel.Mirroring); //文件删除后减少虚拟磁盘的大小 disk.Delete(file); VirtualDiskCommon.Update(disk); }
protected override void ExecuteProcedure() { var disk = VirtualDiskCommon.LoadByMirroring(_diskId); VirtualDirectory dir = VirtualDirectoryCommon.FindById(_dirId, QueryLevel.Mirroring); //这里需要测试,dir内部的this.Disk和 disk要是同一个对象,在当前会话里都是同一个镜像 //if(ReferenceEquals(disk, dir.Disk)) //{ //} if (dir.IsSystem && !_force) { throw new BusinessException(Strings.CanNotDeleteSystemDirectory); } disk.Delete(dir); VirtualDiskCommon.Update(disk); }