Не совсем понятно, что вы имеете в виду, но вы могли бы просто захотеть что-то вроде:
var query = collection.GroupBy(record => record.DateProperty.Year)
.OrderBy(group => group.Key);
Если это не то, что вам нужно, пожалуйста, предоставьте более подробную информацию - в идеале немногоПример ввода и желаемый результат.
Если вам нужна только одна запись из каждой группы, и вы готовы взять любую произвольную запись, чтобы получить имя, а вам нужен только год, вы можете сделать:
var query = collection.GroupBy(record => record.DateProperty.Year)
.Select(g => new { Year = g.Key, Name = g.First().Name })
.OrderBy(x => x.Year);