public override IEnumerable <CourseDto> GetAll() { var query = from course in _courseRepository.AllInclude(course => course.CourseCategories) join category in _categoryRepository.GetAll() on course.CategoryId equals category.Id into cc from c in cc.DefaultIfEmpty() select this.CourseToDto(course, c?.Id ?? 0, c?.Slug ?? "", c?.IsVisible ?? false); List <CourseDto> result = query.ToList(); return(result); }