C#C
C#2y ago
SWEETPONY

✅ How to get all data without Include?

maybe stupid question but I want to ask it:

I have two methods:
[UseProjection]
[Authorize(Roles = [Permissions.Rms.Task.Read])]
public Task<WorkingTaskWithFlights?> SingleWorkingTaskWithFlightAsync([Service(ServiceKind.Resolver)] ReadModelDbContext dbContext, IResolverContext context, string identity, [Service] NpgsqlHealthChecker npgsqlHealthChecker, CancellationToken cancellationToken)
    => HealthCheck(npgsqlHealthChecker, async () =>
    {
        var workingTask = await dbContext.WorkingTasks
            .Include(workingTask => workingTask.RequiredQualifications)
                .ThenInclude(workingTask => workingTask.Qualification)
            .Include(workingTask => workingTask.StartLocation)
            .Include(workingTask => workingTask.EndLocation)
            .Include(workingTask => workingTask.WorkingShift)
            .FirstOrDefaultAsync(workingTask => workingTask.Identity == identity, cancellationToken)
            .ConfigureAwait(false);

        if(workingTask == null)
            return default;

        var inboundIdentity = workingTask.CustomData?.InboundFlightLegIdentity;
        var outboundIdentity = workingTask.CustomData?.OutboundFlightLegIdentity;

        var flights = await dbContext.Flights
            .Where(flight => flight.Identity == inboundIdentity || flight.Identity == outboundIdentity)
            .ToListAsync(cancellationToken)
            .ConfigureAwait(false);

        return new WorkingTaskWithFlights { WorkingTask = workingTask, Flights = flights.AsReadOnly()};
    });

[UseProjection]
[Authorize(Roles = [Permissions.Rms.Task.Read])]
public Task<WorkingTaskEntity?> SingleWorkingTaskAsync([Service(ServiceKind.Resolver)] ReadModelDbContext dbContext, IResolverContext context, string identity, [Service] NpgsqlHealthChecker npgsqlHealthChecker, CancellationToken cancellationToken)
    => GetByIdentityAsync(dbContext.WorkingTasks, identity, w => w.Project(context), npgsqlHealthChecker, cancellationToken);
Was this page helpful?