有没有办法在c#中为datagridview异步读取数据?

Is there a way for reading data asynchronously for datagridview in c#?

我正在尝试在 entity framework 中异步填充 datagridview 数据源,但它显示跨线程错误并且它不起作用,有人知道怎么做吗? 非常感谢

 private async Task FillData()
    {
        await Task.Run(() =>
        {
            Model.AsyncTestDBEntities db = new Model.AsyncTestDBEntities();
            dataGridView1.AutoGenerateColumns = false;
            dataGridView1.DataSource = db.Table_1.ToList();
        });
    }

当我调用上面的方法时它不起作用

  private async void button1_Click(object sender, EventArgs e)
    {
        await FillData();
    }

使用 ToListAsync 代替 Task.Run()

private async Task FillData()
{
    var db = new Model.AsyncTestDBEntities();
    var list = await db.Table_1.ToListAsync();
    dataGridView1.AutoGenerateColumns = false;
    dataGridView1.DataSource = list;
}