ฉันมีคำถามเช่นนี้
(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 มีเงื่อนไขเพิ่มเติม มีวิธีที่ดีกว่านี้หรือไม่?