• 动态拼接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);
     
                   }
     
               }
  • 相关阅读:
    <Android 基础(二十六)> 渐变色圆角Button
    Java 中父类怎么调用子类的方法?
    <Android 基础(二十五)> Frame Animation
    Java基础知识点
    HTTP请求流程(二)----Telnet模拟HTTP请求
    telnet远程登录协议
    HTTP协议详解
    STM32 SPI接口的NSS引脚
    TCP/IP
    以太网帧格式、IP数据报格式、TCP段格式+UDP段格式 详解
  • 原文地址:https://www.cnblogs.com/0819lsl/p/6409180.html
Copyright © 2020-2023  润新知