public virtual async Task BulkInsertAsync(IList <T> entities)
        {
            if (entities != null && entities.Count > 0)
            {
                using (var transaction = await _dbContext.Database.BeginTransactionAsync())
                {
                    try
                    {
                        await _dbContext.BulkInsertAsync(entities, config => config.UseTempDB = true);

                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        _logger.LogError(ex.Message, ex.InnerException);
                        transaction.Rollback();
                        throw;
                    }
                }
            }
        }