在我的应用程序中,我有多个选项卡,使用 Entity Framework 5 显示来自数据库的数据。
当我在选项卡之间切换时,我开始通过任务自动加载数据,因为我不希望 GUI 变得无响应(此任务大约需要 5-10 秒):
public async void LoadData()
{
[...]
await Task.Run(
() =>
{
Measurements = DataContext.Measurements
.Where(m => m.MeasureDate = DateTime.Today)
.ToList();
});
[...]
}
但是当任务运行时,用户仍然可以更改到另一个选项卡,如果他这样做,我想取消 EF 查询和/或任务。
实现这一目标的最佳方法是什么?