9
Linq:有条件地向where子句添加条件
我有这样的查询 (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块都有一个附加条件。有一个更好的方法吗?