是否有一种方法可以在c#中异步读取数据?



我试图在实体框架中异步填充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;
}

最新更新