• 多条件动态LINQ 组合查询


    本文章转载:http://www.cnblogs.com/wangiqngpei557/archive/2013/02/05/2893096.html

    参考:http://dotnet.9sssd.com/entfwk/art/960

     http://www.cnblogs.com/killuakun/archive/2008/08/03/1259389.html

    http://www.cnblogs.com/snowdream/archive/2008/07/18/1246308.html

    以往我们都是通过判断的方式来拼接查询的SQL字符串,但是现在我们面对是强类型的LINQ查询,是否可以很方便的进行类似查询。

    eg:

    string _UserID = string.Empty;
               _UserID = "E351D301-F64B-412C-B9EF-573F41235AF2";
     
               string _UserName = string.Empty;
               _UserName = "admin";
     
               string _employyName = string.Empty;
               _employyName = "测试1";
     
               using (var xj = new XJGasBottles_testDataContext())
               {
                   //Linq写法
                   var usersLinq = from us in xj.Users
                                   where (string.IsNullOrEmpty(_UserID) || us.UserID.ToString() == _UserID)
                                          && (string.IsNullOrEmpty(_UserName) || us.UserName == _UserName)
                                          || (us.EmpName == _employyName)
                                   //where string.IsNullOrEmpty(_UserID) || us.UserID.ToString()==_UserID
                                   //where string.IsNullOrEmpty(_UserName) || us.UserName==_UserName
                                   select us;
                   foreach (var item in usersLinq)
                   {
                       Console.WriteLine("Linq:");
                       Console.WriteLine(item.UserID + "_" + item.UserName);
     
                   }
     
                   //Lamda写法
                   var usersLamda = xj.Users.Where(s => (string.IsNullOrEmpty(_UserID) || s.UserID.ToString() == _UserID) &&
                                                   (string.IsNullOrEmpty(_UserName) || s.UserName == _UserName) ||
                                                   (s.EmpName==_employyName)
                                             )
                                       .Select(s => s);
     
                   foreach (var item in usersLamda)
                   {
                       Console.WriteLine("Lamda:");
                       Console.WriteLine(item.UserID + "_" + item.UserName);
     
                   }
     
               }
  • 相关阅读:
    RabbitMQ知识点整理2-相关概念介绍
    RabbitMQ知识点整理1-生产和消费消息
    Java自学-图形界面 Swing中的线程
    Java自学-图形界面 日期控件
    Java自学-图形界面 表格
    Java自学-图形界面 工具栏
    WebStorm 2020.2.3 破解(Mac,windows,Linux)
    消息队列的使用场景
    有关建立虚拟环境的总结
    性能测试-Locust分布式执行
  • 原文地址:https://www.cnblogs.com/xuhongfei/p/5567765.html
Copyright © 2020-2023  润新知