これが私のボタンイベントです:
private async void btnTarget_Click(object sender, EventArgs e)
{
using (DataBaseDataContext db = new DataBaseDataContext())
{
targtGirdView.DataSource = await Task.Run(() =>
{
return heavyLinqToSQLQuery;
});
}
}
GridViewデータソースの場合、データベーストランザクションが重いため、待機セクションに配置します。しかし、この時点でUIがブロックされ、理由はわかりません。問題はどこだ?
.ToList();
LINQクエリの最後に次を追加して問題を解決しました。
private async void btnTarget_Click(object sender, EventArgs e)
{
using (DataBaseDataContext db = new DataBaseDataContext())
{
targtGirdView.DataSource = await Task.Run(() =>
{
return heavyLinqToSQLQuery.ToList();
});
}
}
しかし、UIをブロックせずに正しく実行されている理由がわかりません。遅延読み込みに関連するものはありますか?
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加