public IEnumerable<Instructor> GetInstructorsADONET() { var connString = ConfigurationManager.ConnectionStrings["SchoolContext"].ConnectionString; List<Instructor> instructors = new List<Instructor>(); using (var conn = new SqlConnection(connString)) { conn.Open(); var cmd = new SqlCommand("SELECT Person.PersonID, Person.LastName, Person.FirstName, Course.Title, Course.Credits " + "FROM Course INNER JOIN " + "CourseInstructor ON Course.CourseID = CourseInstructor.CourseID RIGHT OUTER JOIN " + "Person ON CourseInstructor.PersonID = Person.PersonID " + "WHERE (Person.Discriminator = 'Instructor') " + "ORDER BY Person.PersonID", conn); var reader = cmd.ExecuteReader(); int currentPersonID = 0; Instructor currentInstructor = null; while (reader.Read()) { var personID = Convert.ToInt32(reader["PersonID"]); if (personID != currentPersonID) { currentPersonID = personID; if (currentInstructor != null) { instructors.Add(currentInstructor); } currentInstructor = new Instructor(); currentInstructor.LastName = reader["LastName"].ToString(); currentInstructor.FirstMidName = reader["FirstName"].ToString(); } if (reader["Title"] != DBNull.Value) { var course = new Course(); course.Title = reader["Title"].ToString(); course.Credits = Convert.ToInt32(reader["Credits"]); currentInstructor.Courses.Add(course); } } if (currentInstructor != null) { instructors.Add(currentInstructor); } reader.Close(); cmd.Dispose(); } return instructors; }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)