If a method has no async
operations inside it there's no benefit in making it async
. You should only have async
methods where you have an async
operation (I/O, DB, etc.).
If your application has a lot of these I/O methods and they spread throughout your code base, that's not a bad thing. But don't just add the async
keywords on synchronous methods.
In your specific case ExecuteQueryAsync
benefits by being async as it allows using await cmd.ExecuteReaderAsync()
. GetTableColumns
and GetDataFromReader
seem to be CPU intensive methods and they don't fit they async-await paradigm.