public bool DeleteWithSubEntities(Branch entity) { EfCoreCourseRepository courseRepository = new EfCoreCourseRepository(); EfCoreBImageRepository bImageRepository = new EfCoreBImageRepository(); using (var context = new CourseContext()) { Branch branch = context.Branch.Where(i => i.BranchId == entity.BranchId) .Include(i => i.BranchCourse) .ThenInclude(i => i.Course) .Include(i => i.BranchBImage) .ThenInclude(i => i.BImage).FirstOrDefault(); foreach (var courseId in branch.BranchCourse.Select(i => i.Course.CourseId)) { Course course = courseRepository.GetById(courseId); courseRepository.Delete(course); } foreach (var bImageId in branch.BranchBImage.Select(i => i.BImage.BImageId)) { BImage bImage = bImageRepository.GetById(bImageId); bImageRepository.Delete(bImage); } Delete(entity); return(true); } }
public bool DeleteWithSubEntities(Time entity) { EfCoreCourseRepository courseRepository = new EfCoreCourseRepository(); using (var context = new CourseContext()) { Time time = context.Time.Where(i => i.TimeId == entity.TimeId) .Include(i => i.CourseTimes) .ThenInclude(i => i.Course).FirstOrDefault(); foreach (var courseId in time.CourseTimes.Select(i => i.Course.CourseId)) { Course course = courseRepository.GetById(courseId); courseRepository.Delete(course); } Delete(entity); return(true); } }