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 == true
karena itu akan menyaring proyek yang tidak menyelesaikan tugas. Sebagai gantinya saya ingin menambahkan Completed == true
klausa 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 == true
klausa on?
Sepertinya saya tidak dapat menemukan dokumentasi LINQ tentang cara melakukan ini.