public async Task <bool> BatchDelete(string definitionId, IUnitOfWork uow = default)
        {
            var nouow = uow == default;

            if (nouow)
            {
                uow = _elsaDbContext.NewUnitOfWork();
            }

            var instances = await ListByDefinitionId(definitionId);

            if (instances.Any())
            {
                var instanceIds = instances.Select(a => a.Id).ToList();
                if (!await _repository.BatchDeleteByDefinitionIdAsync(definitionId, uow))
                {
                    throw new Exception("ɾ³ýʧ°Ü");
                }
                if (!await _activityInstanceRepository.BatchDeleteByWorkflowInstancesAsync(instanceIds, uow))
                {
                    throw new Exception("ɾ³ýʧ°Ü");
                }
                if (!await _blockingActivityRepository.BatchDeleteByWorkflowInstancesAsync(instanceIds, uow))
                {
                    throw new Exception("ɾ³ýʧ°Ü");
                }
            }
            if (nouow)
            {
                uow.Commit();
            }
            return(true);
        }