public IActionResult Query([FromBody] Query query) { return(this.Intercept(() => { var results = new List <List <object> >(); try { using (var dbReader = dbConnection.ExecuteQuery(query.Select)) { var reader = dbReader.Reader; while (reader.Read()) { var rowResults = new List <object>(); foreach (var column in query.Columns) { var columnOrdinal = reader.GetOrdinal(column); rowResults.Add(reader.GetValue(columnOrdinal)); } results.Add(rowResults); } return Ok(QueryResponse.Ok(query, results)); } } catch (Exception err) { return Ok(QueryResponse.Failed(err.Message)); } })); }