私のアプリケーションには複数のタブがあり、Entity Framework 5 を使用してデータベースのデータを表示しています。
タブを切り替えると、タスクを介してデータの自動ロードを開始します。これは、GUI が応答しなくなることを望まないためです (このタスクには約 5 ~ 10 秒かかります)。
public async void LoadData()
{
[...]
await Task.Run(
() =>
{
Measurements = DataContext.Measurements
.Where(m => m.MeasureDate = DateTime.Today)
.ToList();
});
[...]
}
ただし、タスクの実行中にユーザーは別のタブに変更できます。その場合、EF クエリやタスクをキャンセルしたいと思います。
これを達成するための最良の方法は何ですか?