public void SearchStudentWithInclude() { using (var ctx = new ADOschool()) { ctx.Configuration.LazyLoadingEnabled = false; Console.Write("Please Enter Name: "); var userQuery = Console.ReadLine(); // Uppgift 4, punkt 3 var student = ctx.Students.Where(x => x.FirstMidName.StartsWith(userQuery)).Include(x => x.Enrollments.Select(c => c.Course)).FirstOrDefault(); if (student != null) { Console.WriteLine($"ID: {student.ID}. Name: {student.FirstMidName} {student.LastName}."); Console.WriteLine("---------------------------------------------------------------------------"); ctx.Entry(student).Collection(x => x.Enrollments).Load(); var recordCount = 0; foreach (var enrollment in student.Enrollments) { recordCount++; Console.WriteLine($"{recordCount}. ID {enrollment.EnrollmentID} Enrollment: {enrollment.EnrollmentName} Course ID: {enrollment.Course.CourseID} Course Name: {enrollment.Course.CourseName} Grade: {enrollment.Grade}"); Console.WriteLine("---------------------------------------------------------------------------"); } } else { Console.WriteLine("\nNo record of your query in the database. Press any key to continue..."); } } Console.Write("\n\nUsing Exlplicit loading.\nPress any key to continue..."); Console.ReadKey(); }
// Uppgift 1 och 3 public void PrintStudents() { using (var ctx = new ADOschool()) { var students = ctx.Students.Include(x => x.Enrollments.Select(c => c)); var recordCount = 0; var enrollmentCount = 0; foreach (var student in students) { recordCount++; Console.WriteLine($"{recordCount}. ID: {student.ID}. Name: {student.FirstMidName} {student.LastName}."); foreach (var enrollment in student.Enrollments) { enrollmentCount++; Console.WriteLine($"{enrollmentCount}. Enrollment name: {enrollment.EnrollmentName} Course name: {enrollment.Course.CourseName} Grade: {enrollment.Grade}"); } Console.WriteLine("---------------------------------------------------------------------------"); } } }