Windowsフォームのイベントハンドラ上でEntityFramework6のToListAsync()がawaitできない
Windowsフォームのイベントハンドラにて、EntityFramework6でDBクエリを実行しています。
ToListAsync()にawaitキーワードをつけて非同期実行とし、CancellationTokenを渡して処理のキャンセルを可能としています。
しかしながら、下記コードで実行してみると、クエリの完了までUI操作がブロックされます。
意図した動作にならない原因は何なのでしょうか。
private async void button1_Click(object sender, EventArgs e)
{
    _cts = new CancellationTokenSource();
    using (var db = new SampleEntities())
    {
        // ここでawaitするがUIに制御が渡らない
        _result = await db.Database.SqlQuery<Result>("select fullname,productname from customers, products").ToListAsync(_cts.Token);
    }
    dataGridView1.DataSource = _result;
    statusLabel.Text = $"{_result.Count} records loaded.";   
}