相关疑难解决方法(0)

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();
Run Code Online (Sandbox Code Playgroud)

我想根据是否将这些条件提供给运行此查询的方法来添加各种条件,如年龄,高度.所有条件都包括用户部门.如果提供了年龄,我想将其添加到查询中.同样,如果提供了高度,我也想添加它.

如果要使用sql查询完成,我会使用字符串构建器将它们附加到主strSQL查询.但是在Linq中,我只能想到使用IF条件,其中我将编写相同的查询三次,每个IF块都有一个附加条件.有一个更好的方法吗?

谢谢你的时间..

linq entity-framework linq-to-sql

87
推荐指数
6
解决办法
7万
查看次数

标签 统计

entity-framework ×1

linq ×1

linq-to-sql ×1