ON 절에 여러 조건이있는 왼쪽 외부 조인을 사용하는 쿼리를 LINQ에서 구현하려고합니다.
다음 두 테이블 Project (ProjectID, ProjectName) 및 Task (TaskID, ProjectID, TaskName, Completed) 의 예제를 사용합니다 . 각 작업과 함께 모든 프로젝트의 전체 목록을보고 싶지만 완료된 작업 만보고 싶습니다.
Completed == true
작업을 완료하지 않은 프로젝트를 필터링하기 때문에 필터를 사용할 수 없습니다 . 대신 Completed == true
조인의 ON 절에 추가 하여 전체 프로젝트 목록이 표시되지만 완료된 작업 만 표시됩니다. 완료된 작업이없는 프로젝트는 작업에 대해 null 값이있는 단일 행을 표시합니다.
다음은 쿼리의 기초입니다.
from t1 in Projects
join t2 in Tasks
on new { t1.ProjectID} equals new { t2.ProjectID } into j1
from j2 in j1.DefaultIfEmpty()
select new { t1.ProjectName, t2.TaskName }
&& t2.Completed == true
on 절에 어떻게 추가 합니까?
이 작업을 수행하는 방법에 대한 LINQ 문서를 찾을 수없는 것 같습니다.