iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >莱姆达表达试——查询篇
  • 344
分享到

莱姆达表达试——查询篇

莱姆达表达试——查询篇 2018-07-01 14:07:54 344人浏览 猪猪侠
摘要

一般查询 db.User.Select(u => u); // 不带条件查询 db.User.Where(u => true); //不带条件查询 db.User.Where(u => u.userna

莱姆达表达试——查询篇

一般查询

db.User.Select(u => u); // 不带条件查询

db.User.Where(u => true); //不带条件查询

db.User.Where(u => u.username == "wjl" || u.username == "hyf"); // 带条件查询  || 表示 “或” && 表示 “且”

db.User.Select(u => u.username.EndsWith("丽")); // 模糊查询 相当于like "%丽"

db.User.Select(u => u.username.IndexOf("丽")); // 模糊查询 相当于like "%丽%"

db.User.Select(u => u.username.StartsWith("丽")); // 模糊查询 相当于like "丽%"

db.User.Where( u => (u.username == user.username && u.userpwd == user.userpwd)).Count(); // 计数 返回int类型的数值

  

聚合函数查询

//最大值
var list = from p in db.Products
            group p by p.CateGoryID into g
            select new
            {
                g.Key,
                MaxPrice = g.Max(p => p.UnitPrice)
            };
//最小值
var q = from p in db.Products
        group p by p.CategoryID into g
        select new
        {
            g.Key,
            MaxPrice = g.Max(p => p.UnitPrice)
        };
//平均值
var q = from p in db.Products
        group p by p.CategoryID into g
        select new
        {
            g.Key,
            AveragePrice = g.Average(p => p.UnitPrice)
        };
//求和
var q = from p in db.Products
        group p by p.CategoryID into g
        select new
        {
            g.Key,
            TotalPrice = g.Sum(p => p.UnitPrice)
        };
//计数
var q = from p in db.Products
        group p by p.CategoryID into g
        select new
        {
            g.Key,
            NumProducts = g.Count()
        };
//带条件计数
var q = from p in db.Products
        group p by p.CategoryID into g
        select new
        {
            g.Key,
            NumProducts = g.Count(p => p.Discontinued)
        };

高级查询

//in查询
var list1 = db.Users.Where(u => new int[] { 1, 2, 3 }.Contains(u.Id));
var list2 = from u in db.Users where new int[] { 1, 2, 3 }.Contains(u.Id) select u;

//分页查询,按需查询所要的字段
var list3 = db.Users.Where(u => new int[] { 1, 2, 3 }.Contains(u.Id))
                            .OrderBy(u => u.Id)
                            .Select(u => new
                            {
                                Account = u.Account,
                                PassWord = u.Password

                            }).Skip(3).Take(5);

var list4 = (from u in db.Users
                where new int[] { 1, 2, 3 }.Contains(u.Id)
                orderby u.Id
                select new
                {
                    Account = u.Account,
                    Pwd = u.Password
                }).Skip(3).Take(5);

//多条件查询的另一种写法
var list5 = db.Users.Where(u => u.Name.StartsWith("") && u.Name.EndsWith(""))
        .Where(u => u.Name.EndsWith(""))
        .Where(u => u.Name.Contains("小新"))
        .Where(u => u.Name.Length < 5)
        .OrderBy(u => u.Id);

//连接查询,inner join
var list6 = from u in db.Users
            join c in db.Companies on u.CompanyId equals c.Id
            where new int[] { 1, 2, 3, 4, 6, 7, 10 }.Contains(u.Id)
            select new
            {
                Account = u.Account,
                Pwd = u.Password,
                CompanyName = c.Name
            };
//连接查询,left join
var list7 = from u in db.Users
            join c in db.Categories on u.CompanyId equals c.Id
            into ucList
            from uc in ucList.DefaultIfEmpty()
            where new int[] { 1, 2, 3, 4, 6, 7, 10 }.Contains(u.Id)
            select new
            {
                Account = u.Account,
                Pwd = u.Password
            };

分页查询,参数的动态改变自己去设置OrderBy为升序, OrderByDescending为降序 ,ThenByDescending与ThenBy为第二条件排序,Skip相当于not in ,Take相当于Top

var userlist = db.User.Where(u => true).OrderByDescending(u => u.userid).ThenBy(u => u.username).Skip((pageindex - 1) * pagesize).Take(pagesize);

int pageindex; //从第几条开始
if (!int.TryParse(Request["pageindex"], out pageindex))
{
pageindex = 1;
}
int rcordcount = db.User.Count(); //统计总记录数
int pagesize = 5; //每页要显示的记录条数
int pagecount = Convert.ToInt32(Math.Ceiling((double)rcordcount / pagesize)); //计算页数

pageindex = pageindex < 1 ? 1 : pageindex; //pageindex不能小于1 和 pageindex 不能大于记录总数
pageindex = pageindex > pagecount ? pagecount : pageindex;

// OrderBy为升序, OrderByDescending为降序 ,ThenByDescending与ThenBy为第二条件排序,Skip相当于not in ,Take相当于Top
var userlist = db.User.Where(u => true).OrderByDescending(u => u.userid).ThenBy(u => u.username).Skip((pageindex - 1)* pagesize).Take(pagesize);

 

您可能感兴趣的文档:

--结束END--

本文标题: 莱姆达表达试——查询篇

本文链接: https://www.lsjlt.com/news/8531.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL 正则表达式查询
    MySQL REGEXP:正则表达式正则表达式主要用来查询和替换符合某个模式(规则)的文本内容。例如,从一个文件中提取电话号码,查找一篇文章中重复的单词、替换文章中的敏感语汇等,这些地方都可以使用正则表达式。正则表达式强大且灵活,常用于非常...
    99+
    2023-02-03
    REGEXP 正则 Mysql
  • LINQ查询表达式怎么用
    这篇文章主要介绍了LINQ查询表达式怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。from子句负责指定LINQ查询操作中的数据源和范围变量每一个LINQ查询表达式都必须...
    99+
    2023-06-17
  • C# LINQ查询表达式及对应LAMBDA表达式的用法
    目录首先先让我们看一下什么是LINQ查询表达式和Lambda表达式:什么是“延迟执行”?还是上面例子中的查询:并行linqC#编程语言非常优美,我个人还是非常赞同的。特别是在学习一段...
    99+
    2024-04-02
  • LINQ查询表达式举例分析
    这篇文章主要讲解了“LINQ查询表达式举例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“LINQ查询表达式举例分析”吧!LINQ使查询成为了.NET中头等的编程概念,被查询的数据可以是X...
    99+
    2023-06-17
  • LINQ如何实现查询表达式
    这篇文章主要介绍了LINQ如何实现查询表达式,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。新建一个叫Step1.aspx的新页面。添加一个GridView控件到页面中,如下所...
    99+
    2023-06-17
  • 盘点SqlServer 分页方式和拉姆达表达式分页
    目录1、ROW_NUMBER() OVER()方式(SQL2012以下推荐使用)2、offset fetch next方式(SQL2012及以上的版本才支持:推荐使用 )3、top ...
    99+
    2022-12-16
    SqlServer 分页 拉姆达表达式分页 拉姆达表达式
  • java8保姆级lambda表达式教程
    目录1.替代匿名内部类2.使用lambda表达式对集合进行迭代3.用lambda表达式实现map4.用lambda表达式实现map与reduce5.filter操作6.与函数式接口P...
    99+
    2023-03-24
    Java lambda lambda表达式
  • 盘点SqlServer 分页方式和拉姆达表达式分页
    目录1、ROW_NUMBER() OVER()方式(SQL2012以下推荐使用)2、offset fetch next方式(SQL2012及以上的版本才支持:推荐使用 )3、top not in方式 (不推荐)4、通过升...
    99+
    2022-12-16
    SqlServer 分页 拉姆达表达式分页 拉姆达表达式
  • LINQ查询表达式功能有哪些
    本篇内容主要讲解“LINQ查询表达式功能有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“LINQ查询表达式功能有哪些”吧!LINQ查询表达式是实现LINQ功能的重要部分,一般是通过相关关键字...
    99+
    2023-06-17
  • Linq查询表达式是怎么样的
    这篇文章给大家分享的是有关Linq查询表达式是怎么样的的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Linq查询表达式于是,语言设计团队设计了一种与 SQL 更为相近的语法,称为Linq查询表达式。例如,针对我们...
    99+
    2023-06-17
  • c#中查询表达式GroupBy怎么用
    这篇文章主要介绍c#中查询表达式GroupBy怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!实验基础数据用例:Student类:public class Student  ...
    99+
    2023-06-25
  • python正则表达式入门篇
    本文主要为没有使用正则表达式经验的新手入门所写。 转载请写明出处 引子 首先说 正则表达式是什么? 正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression...
    99+
    2023-01-31
    入门篇 正则表达式 python
  • 进阶JAVA篇- Lambda 表达式与 Lambda 表达式的省略规则
    目录         1.0 什么是 Lambda 表达式?         1.1 既然跟匿名内部类相关,先来回顾匿名内部类。          1.2 Lambda 表达式与匿名内部类之间的关系。         1.3 函数式接口  ...
    99+
    2023-10-20
    java python 开发语言
  • java8保姆级lambda表达式源码分析
    这篇文章主要介绍“java8保姆级lambda表达式源码分析”,在日常操作中,相信很多人在java8保姆级lambda表达式源码分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java8保姆级lambda表...
    99+
    2023-07-05
  • MongoDB中正则表达式查询怎么实现
    在MongoDB中,可以使用正则表达式来进行模糊查询。在查询条件中使用$regex操作符可以实现正则表达式查询。下面是一个简单的示例...
    99+
    2024-04-19
    MongoDB
  • c#中查询表达式GroupBy的使用方法
    说明: c#中实现IEnumerable<T>接口的类提供了很多扩展方法,其中Select,Where等为最常见的,且几乎和Sql语法类似比较好理解,基本满足了...
    99+
    2024-04-02
  • MySQL正则表达式匹配查询(含实例)
    目录一、正则表达式介绍二、使用正则表达式测试数据1.基本字符匹配2.OR匹配3.模糊匹配4.匹配范围5.匹配特殊字符6. 匹配字符类7.匹配多个实例8.定位符总结一、正则表达式介绍 ...
    99+
    2024-04-02
  • 达梦数据库SQL查询报错不是 GROUP BY 表达式解决方法
    达梦数据库SQL查询报错:不是 GROUP BY 表达式解决方法 1、前言 随着达梦数据库国产化率越来越高,很多如Oracle、Mysql、SQL Server逐步迁移到达梦数据库上来,但难免会有一些其它数据库独有的用法在达梦上会报错,但达...
    99+
    2023-08-30
    数据库 sql mysql
  • 【Java 基础篇】Java 正则表达式
    文章目录 导言一、正则表达式的基本概念二、使用正则表达式的步骤三、示例代码1. 匹配字符串2. 提取匹配的内容3. 替换字符串 总结 导言 正则表达式是一种强大的文本模式匹配工具...
    99+
    2023-09-18
    java 正则表达式 python
  • MybatisPlus Lambda表达式 聚合查询 分组查询 COUNT SUM AVG MIN MAX GroupBy
    一、序言 众所周知,MybatisPlus在处理单表DAO操作时非常的方便。在处理多表连接连接查询也有优雅的解决方案。今天分享MybatisPlus基于Lambda表达式优雅实现聚合分组查询。 由于视频的交互性更强,保留更多的细节,看视频的...
    99+
    2023-08-20
    mybatis java mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作