zoukankan      html  css  js  c++  java
  • 多条件动态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);
     
                   }
     
               }
  • 相关阅读:
    使用XE7并行库中的TTask(转)
    Delphi xe7并行编程快速入门(转)
    Pre-compile (pre-JIT) your assembly on the fly, or trigger JIT compilation ahead-of-time (转)
    使用RemObjects Pascal Script (转)
    Remobjects SDK 服务器搭建
    toString()方法
    环境变量
    jstl标签学习
    SQL的各种join
    Mybatis的一些配置
  • 原文地址:https://www.cnblogs.com/xuhongfei/p/5567765.html
Copyright © 2011-2022 走看看