public async Task AddTeachersToCourse(int courseId, int techerId) { CoursesTeachers courseTeachers = new CoursesTeachers { CourseId = courseId, TeacherId = techerId, }; await this.coursesTeacherRepository.AddAsync(courseTeachers); await this.coursesTeacherRepository.SaveChangesAsync(); }
public IActionResult Index() { //haal de cursus op met id 1 var courseInDb = _schoolDbContext .Courses .SingleOrDefault(c => c.Id == 2); //haal alle cursussen op var courses = _schoolDbContext.Courses.ToList(); foreach (var course in courses) { Console.WriteLine($"{course.Id}-{course.CourseName}"); } //selectie op basis van voorwaarden //vb haal alle cursussen die beginnen met WB //linq Where var coursesWb = _schoolDbContext .Courses .Where(c => c.CourseName.Contains("WB")) .OrderBy(c => c.CourseName) .ToList(); foreach (var courseWb in coursesWb) { Console.WriteLine($"{courseWb.Id}-{courseWb.CourseName}"); } //selectie van veld(en) //bv enkel de courseName = enkel veld var courseOnlyTitle = _schoolDbContext .Courses .OrderBy(c => c.CourseName) .Select(c => c.CourseName)//vanaf hier = lijst van string .ToList(); //select van 2(of meer) velden //gebruik anoniem object //vb Id en Coursename var coursesTitleId = _schoolDbContext .Courses .OrderBy(c => c.CourseName) .Select(c => new { c.CourseName, c.Id }) .ToList(); //ophalen gerelateerde data //gebruik de include method //(rechtreeks gerelateerd) //ThenInclude (onrechtstreeks gerelateerd) //haal courses met hun teachers op var coursesTeachers = _schoolDbContext .Courses .Include(c => c.Teachers) //join CoursesTeachers .ThenInclude(ct => ct.Teacher) .OrderBy(c => c.CourseName) //join met Taachers .ToList(); foreach (var coursesTeacher in coursesTeachers) { Console.WriteLine($"{coursesTeacher?.CourseName}"); foreach (var teacher in coursesTeacher?.Teachers) { Console.Write($"{teacher?.Teacher?.TeacherName} "); } } //toevoegen van data //single object(zonder gerelateerde data) //var newTeacher = new Teacher(); //newTeacher.TeacherName = "Siegfried Deerdeyn"; //change tracker // _schoolDbContext.Teachers.Add(newTeacher); //maak een nieuwe teacher //maak een nieuwe cursus //voeg ze toe aan CourseTeachers //var newTeacher = new Teacher //{ TeacherName = "Willie Schokkelé",YearlyWage=20000 }; //var newCourse = new Course { CourseName = "CIA", Duration = 20 }; //var courseTeacher = new CoursesTeachers //{ Course = newCourse, Teacher = newTeacher }; ////toevoegen aan de databasecontext //_schoolDbContext.CoursesTeachers.Add(courseTeacher); var teacherCourse = new CoursesTeachers { CourseId = 1 /*WBA*/, TeacherId = 4/*William Schokkelé*/ }; //toevoegen aan chnge tracker _schoolDbContext.CoursesTeachers.Add(teacherCourse); //opslaan gebeurt op het einde _schoolDbContext.SaveChanges(); return(View()); }