IList<Department> mDepartmentLst = new List<Department>();IList<Employee> mEmployeeLst = new List<Employee>();mDepartmentLst.Add(new Department() { Id = 1, DeptNo = "001", DeptName = "开发部", IsBusiness = false });mDepartmentLst.Add(new Department() { Id = 2, DeptNo = "002", DeptName = "B2C 商务部", IsBusiness = true });mDepartmentLst.Add(new Department() { Id = 3, DeptNo = "003", DeptName = "B2B 商务部", IsBusiness = true });mDepartmentLst.Add(new Department() { Id = 4, DeptNo = "004", DeptName = "人事部", IsBusiness = false });mEmployeeLst.Add(new Employee() { Id = 1, DeptId = 1, EmpNo = "NO001", EmpName = "xushengtao" });mEmployeeLst.Add(new Employee() { Id = 1, DeptId = 1, EmpNo = "NO002", EmpName = "fankaijian" });mEmployeeLst.Add(new Employee() { Id = 1, DeptId = 4, EmpNo = "NO003", EmpName = "wangguoqin" });int mPageSize = 2;int mTotalCount = 0;Expression mWhereExpression;          // Filter clause (查询语句)// Get current request pagestring mCurPage = "1"; ;// Linq param which represent the search object (查询对象代替符)ParameterExpression mLinqParam = Expression.Parameter(typeof(Department), "p"); //begin 处理“IsBusiness=true”//创建一个表示访问属性的 MemberExpressionMemberExpression memberExpression = Expression.Property(mLinqParam, typeof(Department).GetProperty("IsBusiness"));ConstantExpression constantExpression = Expression.Constant(false);mWhereExpression = Expression.Equal(memberExpression, constantExpression);//endstring mDeptName = "人事部";if (!String.IsNullOrEmpty(mDeptName)){mWhereExpression = Expression.And(mWhereExpression, Expression.Call(Expression.Property(mLinqParam,typeof(Department).GetProperty("DeptName")), typeof(String).GetMethod("Contains"),new Expression[] { Expression.Constant(mDeptName) }));}var mLambdaWhere = (Expression<Func<Department, bool>>)Expression.Lambda<Func<Department, bool>>(mWhereExpression,new ParameterExpression[] { mLinqParam });Func<Department, String> mLambdaOrder = p => p.DeptNo;mTotalCount = mDepartmentLst.AsQueryable().Where(mLambdaWhere).Count();var list = from o in mDepartmentLst.AsQueryable().Where(mLambdaWhere).OrderBy(mLambdaOrder).Skip((int.Parse(mCurPage) - 1) * mPageSize).Take(mPageSize)join c in mEmployeeLst on o.Id equals c.DeptIdselect new{o.DeptNo,o.DeptName,o.IsBusiness,c.DeptId,c.EmpNo,c.EmpName};

转载于:https://www.cnblogs.com/xust/articles/2734064.html

Linq动态查询与模糊查询相关推荐

  1. Springboot 整合ElasticSearch 常用的插入查询,模糊查询,范围查询

    前言 本来该篇教程就应该写到 Springboot 整合 ElasticSearch 入门教学必看 https://blog.csdn.net/qq_35387940/article/details/ ...

  2. mysql模糊 精准查询_Mysql 精准查询与模糊查询【原创】

    有一次做项目,没有搞清楚精准查询和模糊查询的区别,写的代码不能用,存在bug,后来特地去学习了这两个查询语句 个人理解:精准查询就是查询条件和符合查询条件的一字不差,比如,我要搜索姓名为ada这个关键 ...

  3. MySQL基础(八):模糊查询的SQL语句、where条件查询、比较运算符查询、逻辑运算符查询、模糊查询、范围查询、空判断查询

    文章目录 where条件查询 1. where条件查询的介绍 2. 比较运算符查询 3. 逻辑运算符查询 4. 模糊查询 5. 范围查询 6. 空判断查询 7. 小结 where条件查询 学习目标 能 ...

  4. c3p0 参数 模糊查询_mybatis之动态sql,模糊查询,结果集处理,mybatis分页及特殊字符处理...

    目标及项目目录结构 目标 1.mybatis动态sql 2.模糊查询 3.查询返回结果集的处理 4.分页查询 5.特殊字符处理 项目的目录结构 1.mybatis动态sql If.trim.forea ...

  5. MyBatis——占位符,转义字符,多元素查询(模糊查询),动态sql(多条件中多查询,多条件中单查询)

    占位符:${},#{} ${}:充当占位符时,无法防止sql注入,纯纯的外面给啥,他就往上放啥 #{}:充当-,可以防止sql注入 实体类: package com.itjh.pojo;public ...

  6. 基于Mybatis的sql动态查询和模糊查询的实现

    有时候,我们在进行查询的时候会涉及到条件查询,即查询的条件可以是某个值,也可以为空.就像我们在淘宝上购物时,有个输入框,在里面你输入值后,就会有相应的结果.什么都不输入的时候,也会有商品显示出来.模糊 ...

  7. SpringBoot整合Mybatis之各种查询、模糊查询、批量删除、动态表名

    一.普通查询 1. 若查询出的数据只有一条 a>可以通过实体类对象接收 <!-- Dish getDishByName(@Param("name") String na ...

  8. jpa基于ExampleMatcher,Example实现动态筛选,模糊查询,分页,排序,时间范围筛选

    简介: 素材来源于网络,加入个人理解进行组装,减少后台代码量(偷懒),在代码配置化得路上远行 满足条件: 基础条件赛选(模糊查询) 范围筛选(此文针对于时间,其他类似) 基础分页排序等 优点:代码一次 ...

  9. oracle千万级数据模糊查询,oracle模糊查询效率拔高

    分2种思路考虑模糊查询的效率的提高.--注:专注处理百万级数据量,小量数据就算了 第一种:把数据存到业务内存中,通过查询内存提高效率.(要求:硬件内存要高) 1,如果想实现内存动态数据,可以监控表数据 ...

  10. mybaits的模糊查询_mybatis模糊查询防止SQL注入(很详细)

    SQL注入,大家都不陌生,是一种常见的攻击方式.攻击者在界面的表单信息或URL上输入一些奇怪的SQL片段(例如"or '1'='1'"这样的语句),有可能入侵参数检验不足的应用程序 ...

最新文章

  1. mysql 查询执行过的sql_查看mysql已经执行过的sql语句
  2. Java 常见异常种类
  3. centos 7 包管理工具 snap 安装部署
  4. POJ - 2018 二分+单调子段和
  5. css摇曳的_HTML5+CSS3实现树被风吹动摇晃
  6. python3的idle打不开_python3.4idle为什么打不开
  7. java怎么在哪写代码_java把这段代码不写死问题出现在哪儿
  8. (97)FPGA时序违规案例(二)
  9. 《变革中的思索》连载九:放飞的爱;母亲和我
  10. 了解Binder机制原理和底层实现
  11. 20155330 第十一周课堂练习(20170503)
  12. Linux学习(一)——常用命令
  13. 微信公众开发java教程_[Java教程]微信公众平台开发(一)
  14. Xiaojie雷达之路---车载雷达信号处理流程
  15. c语言致命错误无法打开网页,电脑中IE浏览器显示异常或无法打开网页崩溃的解决方法...
  16. 斯特陵往事(转自清韵论坛 冯·迪特里施专栏)
  17. 牛客多校第十场 Han Xin and His Troops(扩展中国剩余)
  18. msysGit与TortoiseGit使用入门
  19. 层层递进!MySQL性能优化步骤演进,一顿饭的时间我就会了
  20. 中小学花都区计算机作品比赛,2010年广州市小学电脑绘画、小报制作比赛简报.doc...

热门文章

  1. JVM初探:内存分配、GC原理与垃圾收集器
  2. c#做端口转发程序支持正向连接和反向链接
  3. 说说 C 语言中的变量与算术表达式
  4. 工程项目管理需要注意哪些问题
  5. 在Hadoop上运行基于RMM中文分词算法的MapReduce程序
  6. 转: RSA原理 阮一峰的博客
  7. java 技能鉴定_JAVA试题-技能鉴定
  8. leetcode 767. 重构字符串(贪心算法)
  9. leetcode144. 二叉树的前序遍历(迭代)
  10. 代码流星雨是什么形式_为什么要在2020年与流星合作