【C# .net】OUTER JOINのやり方【EntityFramework LINQ】

        var query = from student in students
                    join grade in grades on student.StudentId equals grade.StudentId into studentGrades
                    from grade in studentGrades.DefaultIfEmpty()
                    select new
                    {
                        StudentName = student.Name,
                        StudentGrade = grade?.GradeName ?? "成績なし"
                    };

SQLと考え方が違うので、わかりにくいですが、
intoでstudentGradesとしていったん取得して、
そこから、DefaultIfEmpty()で存在しない場合は,nullで取得するようにgradeを再定義します。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です