Mysql ADO.NET阻止异步调用

Mysql ADO.NET阻止异步调用,mysql,wpf,ado.net,Mysql,Wpf,Ado.net,我有一个WPF应用程序,当用户单击按钮时,我正在执行一些数据库操作。单击按钮将使用GalaSoft的MVVM Light中的RelayCommand绑定到命令 MySQL因为数据量大而让我超时,但真正的问题是另一个。我以异步方式做每件事,但应用程序会一直阻塞,直到超时时间过去 我总是希望UI在异步操作运行时保持响应。例如,如果我使用HttpClient执行GET请求,无论返回响应需要多长时间,我仍然可以使用UI 我正在使用用于MySQL的Pomelo数据提供程序(Pomelo.data.MyS

我有一个WPF应用程序,当用户单击按钮时,我正在执行一些数据库操作。单击按钮将使用GalaSoft的MVVM Light中的RelayCommand绑定到命令

MySQL因为数据量大而让我超时,但真正的问题是另一个。我以异步方式做每件事,但应用程序会一直阻塞,直到超时时间过去

我总是希望UI在异步操作运行时保持响应。例如,如果我使用
HttpClient
执行GET请求,无论返回响应需要多长时间,我仍然可以使用UI


我正在使用用于MySQL的Pomelo数据提供程序(Pomelo.data.MySQL)。

它看起来像是ExecuteReaderAsync()的Pomelo实现。

我记得,即使是“官方”MySQL提供程序也在这样做。你可以试试这个: