การสร้างเงื่อนไขแบบหลายตัวแปรในการค้นหาข้อมูลผ่าน LINQ (Multiple Search In LINQ)

การสร้างเงื่อนไขแบบหลายตัวแปรในการค้นหาข้อมูลผ่าน Linq เพื่อให้เห็นภาพชัดเจน จะยกตัวอย่างโดย กำหนดเงื่อนไข 3 ตัวแปร ดังนี้

  • ตัวแปร “ชื่อ/นามสกุล/เลขประจำตัวประชาชน”
    โดยใช้ control TextBox ที่ชื่อ ID=”txtSearch”
  • ตัวแปร “โครงการรับ” โดยใช้ control DropDownList ที่ชื่อ ID=”ddProject”
  • ตัวแปร “สถานะการตรวจเอกสาร”
    โดยใช้ control DropDownList ที่ชื่อ ID=”ddStatus”

จากนั้นเราสร้าง Entity ยกตัวอย่างเป็น UploadEntities ซึ่งในที่นี้ สร้าง DbSet ที่เชื่อมต่อฝั่งฐานข้อมูลยกตัวอย่างเป็น V_REGISTRATION_UPLOAD ผ่าน Entity Framework 4.5 จากนั้นใช้ LINQ ในการเขียนเงื่อนไข ยกตัวอย่างตามโค้ดด้านล่าง

project = ddProject.SelectedValue;

status = ddStatus.SelectedValue;

search = txtSearch.Text.Trim();

outList = ue.V_REGISTRATION_UPLOAD

.Where(w => (w.STUD_FNAME.Contains(search) || w.STUD_LNAME.Contains(search) || w.CITIZEN_ID.Contains(search)) || string.IsNullOrEmpty(search))

.Where(x => x.PROJECT_ID == project || string.IsNullOrEmpty(project))

.Where(y => y.APPROVED_STATUS == status || string.IsNullOrEmpty(status)) .ToList();

gvUploadedList.DataSource = outList;

gvUploadedList.DataBind();

แสดงการใช้งานฟังก์ชัน Where ของ LINQ ในส่วนของ code behide
ผลลัพธ์ที่ได้จากการเรียกใช้เงื่อนไขฟังก์ชัน Where ของ LINQ

สรุปได้ว่าการนำฟังก์ชัน Where ของ LINQ มาใช้งานนั้น ทำให้โปรแกรมเมอร์สะดวกและลดการเขียนโค้ดให้ง่ายขึ้นจากเมื่อก่อนที่ต้องตรวจสอบเงื่อนไขเป็นแบบทีละเงื่อนไข