linq 实现查询字符串拼接 : And 和 OR 两种方式

N年前我们是这样来拼接查询字符串的:现在我们使用linq来实现上边的代码:推荐:http://www.cnblogs.com/roucheng/p/dushubiji.html

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

N年前我们是这样来 拼接查询字符串的:

// 何问起 hovertree.com
public string Test(string a, string b, string c,string d)  
   {  
       string sql = "SELECT * FROM Users WHERE 1=1";  
       if (!string.IsNullOrEmpty(a))  
       {  
           sql += " AND name='" + a + "'";  
       }  
       if (!string.IsNullOrEmpty(b))  
       {  
           sql += " AND age='" + b+ "'";  
       }  
       if (!string.IsNullOrEmpty(c))  
       {  
           sql += " AND sex='" + c + "'";  
       }  
       if (!string.IsNullOrEmpty(d))  
       {  
           sql += " AND address='" + d + "'";  
       }  
       return sql.ToString();  
   } 

现在我们使用linq来实现上边的代码:

public void Test(string a, string b, string c,string d)  
       {  
           QueryContext query = new QueryContext();  
           var q = from u in query.Users  
                    select u;  
           if (!string.IsNullOrEmpty(a))  
           {  
               q = q.Where(p => p.name == a);  
           }  
           if (!string.IsNullOrEmpty(b))  
           {  
               q = q.Where(p => p.age == b);  
           }  
           if (!string.IsNullOrEmpty(c))  
           {  
               q = q.Where(p => p.sex == c);  
           }  
           if (!string.IsNullOrEmpty(d))  
           {  
               q = q.Where(p => p.address == d);  
           }  
           q.ToList();  //上边的所有if,只有到此处才会执行  
       }// 何问起 hovertree.com

推荐:http://www.cnblogs.com/roucheng/p/dushubiji.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120406.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 图像质量评估-NIMA(Neural Image Assessment)「建议收藏」

    1.背景图像质量和美学的量化一直是图像处理和计算机视觉长期存在的问题。技术质量评估测量的是图像在像素级别的损坏,例如噪声、模糊、人为压缩等等,而对艺术的评估是为了捕捉图像中的情感和美丽在语义级别的特征。通常情况下,图像的质量评估一般分为两种:有参照(Full-Reference,FR):PSNR(峰值信噪比)、SSIM(标准-结构相似度)等图像质量评分系统无参照(No-Referen…

    2022年4月5日
    57
  • PHP一句话木马使用技巧

    PHP一句话木马使用技巧近来发现好多网站有安全狗,会拦截菜刀和蚁剑,因此总结下通过浏览器直接调用一句话木马的姿势。PHP一句话:<?php@eval($_POST[‘shy’]);?>firefox浏览器:hackbar命令提示符:curl首先上传一句话木马到网站目录,可以是虚拟机也可以是VPS,我这里用的是阿里云我自己搭建的网站,由于只是简单的一句话木马,因次一上车就收到了安全云的短信…

    2022年5月21日
    92
  • gitlab4.0备份还原

    gitlab4.0备份还原

    2021年6月16日
    86
  • Matlab中axis函数用法总结「建议收藏」

    Matlab中axis函数用法总结「建议收藏」axis主要是用来对坐标轴进行一定的缩放操作,其操作命令主要如下:1、axis([xminxmaxyminymax])设置当前坐标轴x轴和y轴的限制范围2、axis([xminxmaxyminymaxzminzmaxcmincmax])设置x,y,z轴的限制范围和色差范围。3、v=axis返回一个行向量,记录了坐标范围4、axis…

    2022年6月14日
    44
  • tensorflow到底是什么(tensorflow算法)

    今天刚把服务器搭建起来结果程序就跑不起来当时差点把自己吓尿了错误类型:CUDA_ERROE_OUT_OF_MEMORYEtensorflow/stream_executor/cuda/cuda_driver.cc:924]failedtoalloc17179869184bytesonhost:CUDA_ERROR_OUT_OF_MEMORYW./tenso…

    2022年4月10日
    42
  • Xray写POC插件

    Xray写POC插件漏洞环境https://www.vulnhub.com/https://github.com/vulhub/vulhubhttps://github.com/QAX-A-Team/WeblogicEnvironment启用、关闭命令#启用环境docker-composeup-d环境关闭docker-composedown查看WEB应用容器root@…

    2022年5月7日
    176

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号