Код: Выделить всё
public async Task GetLatestHashes(long jobId, CancellationToken token)
{
var context = _contextFactory.Create();
var hashes = await context.Set
()
.AsNoTracking()
.Where(x => x.JobId == jobId)
.GroupBy(x => x.Hash)
.Select(g => new HashRecord
{
Hash = g.Key,
Status = g.Any(x => x.Status == RPStatus.Successful) ? RPStatus.Successful :
g.Any(x => x.Status == RPStatus.Failed) ? RPStatus.Failed : RPStatus.Skipped
})
.ToArrayAsync(token);
return hashes;
}
Код: Выделить всё
public class ProcessedRecordHash
{
public long JobId { get; set; }
public RPStatus Status { get; set; }
public byte[] Hash { get; set; } = Array.Empty();
}
Какие альтернативы вы предлагаете для решения этой проблемы с помощью GroupBy?
Подробнее здесь: https://stackoverflow.com/questions/791 ... y-database
Мобильная версия