9
Linq: การเพิ่มเงื่อนไขไปยัง where clause conditionally
ฉันมีคำถามเช่นนี้ (from u in DataContext.Users where u.Division == strUserDiv && u.Age > 18 && u.Height > strHeightinFeet select new DTO_UserMaster { Prop1 = u.Name, }).ToList(); ฉันต้องการเพิ่มเงื่อนไขต่างๆเช่นอายุความสูงโดยพิจารณาว่าเงื่อนไขเหล่านั้นถูกระบุไว้ในวิธีการที่เรียกใช้แบบสอบถามนี้หรือไม่ เงื่อนไขทั้งหมดจะรวมถึงแผนกผู้ใช้ หากระบุอายุฉันต้องการเพิ่มสิ่งนั้นในแบบสอบถาม ในทำนองเดียวกันถ้าระบุความสูงฉันก็ต้องการเพิ่มเช่นกัน หากต้องทำโดยใช้แบบสอบถาม sql ฉันจะใช้ตัวสร้างสตริงเพื่อต่อท้ายคิวรี strSQL หลัก แต่ที่นี่ใน Linq ฉันคิดได้แค่ใช้เงื่อนไข IF ที่ฉันจะเขียนแบบสอบถามเดียวกันสามครั้งโดยแต่ละบล็อก IF มีเงื่อนไขเพิ่มเติม มีวิธีที่ดีกว่านี้หรือไม่?