✅ How to get all data without Include?
maybe stupid question but I want to ask it:
I have two methods:
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);[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);