【发布时间】:2018-08-21 18:17:33
【问题描述】:
我想在Progressbar 中显示从数据库中获取数据的进度。目前我正在更新Button 的内容。不知道如何在这段代码中实现。
private async void FetchInvoicesDataFunc(object sender, RoutedEventArgs e)
{
ProgressBtn.Content = "Loading Data ...";
InvoiceGrid.ItemsSource = await Task.Run(FetchInvoiceDataAsync);
ProgressBtn.Content = "Loaded !";
}
private async Task<List<Invoice>> FetchInvoiceDataAsync()
{
List<Invoice> result;
using(var context = new Intelliventory_DBEntities() )
{
result = await context.Invoices.Where(b => b.InvoiceID <= 2000).Include(x => x.Customer).ToListAsync();
}
return result;
}
}
【问题讨论】:
-
您将无法跟踪查询的“进度”,至少不能以百分比的形式跟踪。当获取大量数据时,您可以考虑将查询拆分为多个查询,然后显示进度。
-
如何拆分。不知道:(
标签: c# sql-server wpf multithreading entity-framework