public IEnumerable <T> Enumerate <T>(string query, object parameters = null) { using (IDataReader reader = _connectionProvider.GetReader(new CommandDefinition(query, parameters))) { var parser = reader.GetRowParser <T>(); while (reader.Read()) { yield return(parser.Invoke(reader)); } } }