LINQ代码如下:var query;
if (bool)
{
query=......................(很长的东西) where a==1 && b==2
}
else
{
query=......................(很长的东西) where a==1
}ture/false的区别仅仅是多了一个条件,其他都是重复的,能否简化优雅一点写呢?

解决方案 »

  1.   

    bool flag;
    where flag==true?a==1 && b==2 : a==1
      

  2.   

    var query=......................(很长的东西)if(bool)
    {
       query = query.Where(多出来的东西)
    }
      

  3.   

    query=......................(很长的东西) where a==1if(bool)
    query = query.Where(....); 
      

  4.   

    无非就是在拼sql串,像二楼,已经可以了
      

  5.   

    其实也相当于查询字符串拼接,只不过是LINQ版!