i.e. if the query returns 0 rows, I still would like to know the list of columns returned.
There is a method that returns an IDataReader - possibly ExecuteReader or similar - that tells you everything you want to know about the schema. However, with dapper it would be largely expected that you know what the schema looks like ahead of time.