使用异步方法缓存表

本文关键字:缓存 异步方法 | 更新日期: 2023-09-27 17:59:46

这可能非常容易,但我只是从async方法开始,所以我需要帮助。我想在加载WinForm时将table缓存到List<>中,以节省一些时间。我需要作为async:
List<item> itemsList = dataContext.Items.Where(x=>x.Active == true).ToList<Item>()执行简单任务
这是一个单独的任务,不需要CancellationTokenSource

使用异步方法缓存表

您需要ToListAsync(如注释所示)和异步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();
        }