这可能非常简单,但我只是从async
方法开始,所以我需要帮助。我想将table
缓存到List<>
,而WinForm
加载只是为了节省一些时间。我需要执行简单的任务async
:
List<item> itemsList = dataContext.Items.Where(x=>x.Active == true).ToList<Item>()
这是一项单一任务,不需要CancellationTokenSource
答案 0 :(得分:1)
您需要将ToListAsync组合作为建议的注释和async OnLoad事件处理程序,如下所示。您将无法在构造函数中等待,并且您必须将事件标记为async void以便能够等待它们。
private List<Item> itemsList = null;
public Form1()
{
InitializeComponent();
Load += OnLoad;
}
private async void OnLoad(object sender, EventArgs eventArgs)
{
itemsList = await dataContext.Items.Where(x => x.Active == true).ToListAsync();
}