Saya mencoba menerapkan kueri di LINQ yang menggunakan gabungan luar kiri dengan beberapa kondisi di klausa ON.
Saya akan menggunakan contoh dua tabel berikut Project (ProjectID, ProjectName) dan Task (TaskID, ProjectID, TaskName, Completed). Saya ingin melihat daftar lengkap semua proyek dengan tugasnya masing-masing, tetapi hanya tugas yang sudah selesai.
Saya tidak dapat menggunakan filter Completed == truekarena itu akan menyaring proyek yang tidak menyelesaikan tugas. Sebagai gantinya saya ingin menambahkan Completed == trueklausa ON dari join sehingga daftar lengkap proyek akan ditampilkan, tetapi hanya tugas yang sudah selesai yang akan ditampilkan. Proyek tanpa tugas yang diselesaikan akan menampilkan satu baris dengan nilai null untuk Tugas.
Inilah dasar dari kueri tersebut.
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 }
Bagaimana cara menambahkan && t2.Completed == trueklausa on?
Sepertinya saya tidak dapat menemukan dokumentasi LINQ tentang cara melakukan ini.