private static IEnumerable<Score> IterateScores(DbDataReader reader) { while(!reader.IsClosed && reader.Read()) { yield return new Score { Name = reader.GetString(0), Area = reader.TryGetString(1), Avatar = reader.TryGetString(2), Stars = reader.TryGetInt32(3) }; } }