public string TableName(IntegrationDbTable table)
 {
     return(string.Concat(TablesPrefix, table));
 }
        private Tuple <int, string> DeleteEntries(MaintenanceConfiguration configuration, IDbSession session, IntegrationDbTable table, DateTimeOffset lowerBound)
        {
            return(session.Wrap(s =>
            {
                string csv = null;
                string tableName = _dbConfiguration.TableName(table);
                int batchSize = configuration.DeleteLogEntriesBatchSize;

                if (configuration.ArchiveDeletedLogEntries)
                {
                    string query = $"SELECT * FROM [{tableName}] WHERE [TimeStamp] <= @lowerbound";
                    csv = s.QueryToCsv(query, new { lowerBound });
                }

                int count = s.Execute(GetDeleteSql(tableName), new { lowerBound, batchSize }, configuration.CleanUpCommandTimeout.GetValueOrDefault(10800));

                return Tuple.Create(count, csv);
            }));
        }