Код: Выделить всё
select *
from [dbo].[LitEdit] as le
inner join [dbo].[LitEditJob] as lej on lej.BulkEditId = le.Id
inner join [dbo].[LitEditJobTask] as job on job.litEditJobId = lej.Id
where lej.LitProcessId = 'ABC002512'
and job.State = 'init'
order by job.LitNumber
offset 10 rows
fetch next 10 rows only
Код: Выделить всё
var retval = await context.LitEditJob
.Include(j => j.litEdit)
.ThenInclude(b => b.LitEditJobs)
.ThenInclude(jb => jb.LitEditJobTasks)
.Where(j => j.LitProcessId == "ABC002512")
.FirstOrDefaultAsync(cancellationToken);
Код: Выделить всё
var jobs = await context.LitEditJob
.Include(j => j.LitEdit)
.ThenInclude(b => b.LitEditJobs)
.Where(j => j.LitProcessId == "ABC002512")
.SelectMany(j => j.LitEditJobTasks)
.OrderBy(t => t.LitNumber)
.Skip(10)
.Take(10)
.ToListAsync(cancellationToken);
ОТРЕДАКТИРОВАНО:
Код: Выделить всё
var bulkEditJob = await context.BulkEditJob
.Include(x => x.BulkEdit)
.FirstAsync(x => x.JobId == bulkEditJobId);
await context.Entry(bulkEditJob)
.Collection(b => b.BulkEditJobTasks)
.Query()
.Where(x =>x.Status == BulkEditStatus.Pending)
.Skip(10)
.Take(10)
.LoadAsync();
Подробнее здесь: https://stackoverflow.com/questions/798 ... ptimized-w
Мобильная версия