public async Task AddAsync(AddApplicationInfoModel model) { if (DeployConfig.ApplicationNameWhiteList.Any(m => model.Name.Equals(m, StringComparison.OrdinalIgnoreCase))) { throw new DeployException("名称非法"); } if (await _applicationInfoRepository.ExistedAsync(m => m.Name == model.Name && m.ApplicationType == model.ApplicationType)) { throw new DeployException("名称重复"); } var applicationInfo = model.CopyProperties <ApplicationInfo>(); applicationInfo.ID = Guid.NewGuid(); _deploySqliteEFUnitOfWork.RegisterAdd(applicationInfo); var applicationInfoModel = _mapper.Map <ApplicationInfoModel>(applicationInfo); _applicationManage.Add(applicationInfoModel); try { await _deploySqliteEFUnitOfWork.CommitAsync(); } catch (Exception) { _applicationManage.Delete(applicationInfoModel.ID); throw; } }