首页 > 解决方案 > c#,多个异步任务执行

问题描述

亲爱的,我有一个加载几个表的方法。我想同时执行它们..而不是一个接一个..

我的代码如下:

    public async Task FillViewModelDataAsync(out IndexViewModel vm)
    { 
        vm.Areas = await _context.Areas.Where(x => x.IsDisabled == false).ToDictionaryAsync(x => x.Id, y => y.Name);
        vm.SubAreas = await _context.SubAreas.Where(x => x.IsDisabled == false).ToDictionaryAsync(x => x.Id, y => y.Name);
        vm.WorkCenters = await _context.Workcenters.Where(x => x.IsDisabled == false).ToDictionaryAsync(x => x.Id, y => y.Name);
        vm.Priorities = await _context.Priorities.Where(x => x.IsDisabled == false).ToDictionaryAsync(x => x.Id, y => y.Name);
        vm.Departments = await _context.DepartmentToWorkcenters.Get().Where(x => x.IsDisabled == false).ToDictionaryAsync(x => x.Id, y => y.Name);
    }

我想我应该创建一个任务列表,然后 wait.all()... 对吗?如何正确执行?

标签: c#asynchronousasync-await

解决方案


推荐阅读