Det är metodsyntax (som jag tycker är lättare att läsa) men det här kanske gör det
Uppdaterad inläggskommentar
Använd .FirstOrDefault()
istället för .First()
När det gäller datumgenomsnittet kan du behöva släppa den beställningen för tillfället eftersom jag inte kan komma till en IDE för tillfället
var groupByReference = context.Measurements
.GroupBy(m => m.Reference)
.Select(g => new {Creation = g.FirstOrDefault().CreationTime,
// Avg = g.Average(m => m.CreationTime.Ticks),
Items = g })
.OrderBy(x => x.Creation)
// .ThenBy(x => x.Avg)
.Take(numOfEntries)
.ToList();