var query = (from s in ctx.Students.Include("ClassRooms") join sd in ctx.StudentDescriptions on s.StudentID equals sd.StudentID into g from stuDesc in g.DefaultIfEmpty() select new { Name=s.StudentName, StudentId=s.StudentID, }).SingleOrDefault();
重点是:on s.StudentID equals sd.StudentID into g
如果出现 NULL的情况,可以使用 Name=(s.StudentName== null ? "" :s.StudentName)