public IEnumerable <QueryResult <T> > QueryAggregated(Action <IQueryBuilder <T> > query = null)
 {
     try
     {
         using (_metricsReporter.Report($"{_space}.Aggregate"))
             using (var connection = _connectionProvider.GetOpenConnection())
             {
                 return(connection
                        .QueryAggregated <T>(q =>
                 {
                     if (query != null)
                     {
                         query(new MoranbernateQueryBuilder <T>(q));
                     }
                 })
                        .Select(x => new QueryResult <T> {
                     Item = x.Item, RowCount = x.RowCount
                 })
                        .ToList());
             }
     }
     catch (Exception ex)
     {
         _perfLogger.Error("Error running aggregated query", ex);
         throw;
     }
 }