public async Task <IEnumerable <Dancer> > GetDancersAsync( Badge badge, [ScopedService] DatabaseContext dbContext, DancerByIdDataLoader dancerById, CancellationToken cancellationToken) { var dancerIds = await dbContext.Badges .Where(b => b.Id == badge.Id) .Include(b => b.Dancers) .SelectMany(b => b.Dancers.Select(d => d.Id)) .ToArrayAsync(cancellationToken); return(await dancerById.LoadAsync(dancerIds, cancellationToken)); }
public async Task <IEnumerable <Dancer> > GetDancersByIdAsync( [ID(nameof(Dancer))] Guid[] ids, DancerByIdDataLoader dancerByIdDataLoader, CancellationToken cancellationToken) => await dancerByIdDataLoader.LoadAsync(ids, cancellationToken) ?? Array.Empty <Dancer>();
public Task <Dancer?> GetDancerByIdAsync( [ID(nameof(Dancer))] Guid id, DancerByIdDataLoader dancerByIdDataLoader, CancellationToken cancellationToken) => dancerByIdDataLoader.LoadAsync(id, cancellationToken) !;