Expressão Lambda para ingressar

public class CourseDetail
    {
        public CourseDetail();
        public string CourseId { get; set; }
        public string CourseDescription { get; set; }
        public long CourseSer { get; set; }
    }

 public class RefUIDByCourse
    {
        public long CourseSer {  get;  set; }
        public double DeliveredDose{ get; set; }
        public double PlannedDose{ get; set; }
        public string RefUID {  get;  set; }
     }
 public class RefData
    {
       public double DailyDoseLimit {  get;  set; }
       public string RefName {  get;  set; }
       public string RefUID {  get;  set; }
       public double SessionDoseLimit {  get;  set; }
    }

public class CourseSummary  
    {    
          public long CourseSer { get; set; } 
          public double DeliveredDose{ get; set; } 
          public double PlannedDose{ get; set; } 
          Public List<RefData> lstRefData {get;set;} 
    }

Para um courseSer, pode haver vários RefUID no RefUIDByCourse e para cada RefUID, haverá um registro no RefData

Eu tenho uma lista de CourseDetail, RefUIDByCourse e RefData agora para o aluno existente no coursedetail. Eu tenho que criar uma lista de CourseSummary.

Uma coisa que posso fazer é fazer um loop for coursedetail e buscar os resdados respectivos usando a consulta linq, criar um objeto de resumo do curso e adicioná-lo na lista

mas existe alguma maneira de fazer isso por uma consulta linq em vez de fazer loop através

questionAnswers(1)

yourAnswerToTheQuestion