我有一个项目使用Entity Framework
中的数据并将其显示在WPF
中。当Entity Framework在表示层上加载/保存数据时,我想要显示线程进度条。
你能帮我理解我该怎么做?
答案 0 :(得分:3)
我发现使用Skip
/ Take
方法可以做到这一点example。基本上你每轮加载x个记录,你在下一轮中Skip
,并根据表中所有数据的数量来计算,这使你可以每轮更新进度条。
看看这个:
List<MyDataTable> someData = new List<MyDataTable>();
int rowCount = dt.myDataTable.Count();
//TODO: <= display a progress bar here, and set max to rowCount...
int currentRows = 0;
while (currentRows < rowCount)
{
someData.AddRange(dt.myDataTable.Skip(currentRows).Take(10000).ToList());
currentRows = someData.Count;
//TODO: <= update progress here...
}
答案 1 :(得分:1)
您可以使用Dispatcher Thread来实现此目的;基本上,您需要创建一个在其他UI类中扩展的公共类。
要实现这一目标,您可以在此处查看basic example;可以使用更精确的示例和可下载代码here。