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; } }