c# - Getting deadlock when using ExecuteReaderAsync -


i'm trying use async pattern execute sql command , return datatable. can please advice how solve problem?

this code:

    private static async task<datatable> executeasync(connections connection, sqlbuilder sql)     {         using (sqlconnection conn = new sqlconnection(getconnectstring(connection)))         {             await conn.openasync();             using (sqlcommand cmd = new sqlcommand(sql.query, conn))             {                 foreach (var parameter in sql.columnvalues.where(d => !d.name.startswith("#")))                 {                     cmd.parameters.addwithvalue(parameter.name, parameter.value);                 }                  //why getting deadlock when executing next line?                 using (sqldatareader reader = await cmd.executereaderasync())                 {                     datatable dt = new datatable();                     dt.load(reader);                     return dt;                 }             }         }     } 

best regards, thomas

i suspect using wait or result further call stack. causes deadlock if called ui thread, describe on blog.