先来看一下我们的表结构:

首先毫无疑问的要创建我们的上下文对象:

using (var db = new Entities())
{
//执行操作
}

Average 平均值:

//查询平均分
Console.WriteLine("平均分:"+db.Student.Average(v=>v.Score));

Max 最大值:

//查询最高分
Console.WriteLine("最高分:"+db.Student.Max(v=>v.Score));

Min 最小值:

//查询最低分
Console.WriteLine("最低分:"+db.Student.Min(v=>v.Score));

Sum 求和:

//查询总分
Console.WriteLine("总分:"+db.Student.Sum(v=>v.Score));

Count 数量:

//查询学生个数
Console.WriteLine("个数:"+db.Student.Count());

执行结果:

Contains 包含:

//查询名字中包含 小 字的学生
Console.WriteLine("=====打印所哟名字包含 小 的学生=====");
var query = db.Student.Where(v => v.StudentName.Contains("小"));
foreach(var st in query)
{
Console.WriteLine(st.StudentName);
}

Distinct 去重:

//去重复
Console.WriteLine("=====打印所有学生分数 去重=====");
var query2 = db.Student.Select(v=>v.Score).Distinct();
foreach (var st in query2)
{
Console.WriteLine(st);
}

执行结果:

Take 取出指定个数

//查询前3条记录
Console.WriteLine("=====查询前几条记录==========");
var query3 = db.Student.Take();
foreach (var st in query3)
{
Console.WriteLine(st.StudentID+" "+st.StudentName);
}

Skip 跳过指定个数

//跳过前3条记录
Console.WriteLine("======跳过前N条记录=======");
var query4 = db.Student.OrderBy(v=>v.StudentID).Skip(); //调用Skip方法之前必须使用 OrderBy排序 否则报错。
foreach (var st in query4)
{
Console.WriteLine(st.StudentID + " " + st.StudentName);
}

结合使用 Skip 和 Take

//查询3-6条记录
Console.WriteLine("=====查询2-4条记录==========");
var query5 = db.Student.OrderBy(v=>v.StudentID).Take().Skip();//先取出4条记录 --> 再 排除1条 共3条
foreach (var st in query5)
{
Console.WriteLine(st.StudentID + " " + st.StudentName);
}

颠倒顺序,结果不同:

//查询3-6条记录
Console.WriteLine("=====查询2-5条记录==========");
var query6 = db.Student.OrderBy(v => v.StudentID).Skip().Take();//先排除1条 --> 再取出4条记录 共4条
foreach (var st in query6)
{
Console.WriteLine(st.StudentID + " " + st.StudentName);
}

说明: Skip().Take() 是先排除,再取数据。 Take().Skip() 是先取数据再排除,他们返回的个数不同。

【EF学习笔记11】----------查询中常用的扩展方法的更多相关文章

  1. SQL学习笔记之项目中常用的19条MySQL优化

    在写文章之前,首先感谢 飞友科技 陆老师提供的文档.. 声明一下:下面的优化方案都是基于 “ Mysql-索引-BTree类型 ” 的 0x00 EXPLAIN 做MySQL优化,我们要善用 EXPL ...

  2. Java学习笔记五:Java中常用的运算符

    Java中常用的运算符 运算符是一种“功能”符号,用以通知 Java 进行相关的运算.譬如,我们需要将变量 score 的值设置为 20 ,这时候就需要一个“=”,告诉程序需要进行赋值操作. Java ...

  3. ASP.Net MVC开发基础学习笔记:二、HtmlHelper与扩展方法

    一.一个功能强大的页面开发辅助类—HtmlHelper初步了解 1.1 有失必有得 在ASP.Net MVC中微软并没有提供类似服务器端控件那种开发方式,毕竟微软的MVC就是传统的请求处理响应的回归. ...

  4. Linux学习笔记3——Linux中常用系统管理命令

    stat 显示指定文件的相关信息,比ls命令显示内容更多 who 显示在线登录用户 hostname 显示主机名称 uname显示系统信息 top 显示当前系统中耗费资源最多的进程 ps 显示瞬间的进 ...

  5. SpringBoot学习笔记(11)-----SpringBoot中使用rabbitmq,activemq消息队列和rest服务的调用

    1. activemq 首先引入依赖 pom.xml文件 <dependency> <groupId>org.springframework.boot</groupId& ...

  6. Hadoop学习笔记—11.MapReduce中的排序和分组

    一.写在之前的 1.1 回顾Map阶段四大步骤 首先,我们回顾一下在MapReduce中,排序和分组在哪里被执行: 从上图中可以清楚地看出,在Step1.4也就是第四步中,需要对不同分区中的数据进行排 ...

  7. Linux学习笔记2——Linux中常用文件目录操作命令

    ls 显示文件和目录列表 -l 列出文件的详细信息 -a 列出当前目录所有文件,包含隐藏文件 mkdir 创建目录 -p 父目录不存在情况下先生成父目录 cd 切换目录 touch 生成一个空文件 e ...

  8. [学习笔记]node.js中的path.extname方法

    path.extname 返回path路径文件扩展名,如果path以 ‘.' 为结尾,将返回 ‘.',如果无扩展名 又 不以'.'结尾,将返回空值. path.extname('index.html' ...

  9. 【EF学习笔记12】----------解释查询和本地查询 区分 Enumerable 和 Queryable

    简单介绍:Enumerable 和 Queryable 他们都是静态类,位于命名控件 System.Linq下,分别为IEnumerable<T>和IQueryable<T>提 ...

随机推荐

  1. 网页中模拟Excel电子表格实例分享

    原文来自http://www.6excel.com/doc/20049 一.电子表格中用到的快捷键: ← → ↑ ↓  :左,右,上,下 Home :当前行的第一列 End  :当前行的最后一列 Sh ...

  2. VIM_git

    一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以 ...

  3. [转]http://lua-users.org/wiki/LpegTutorial

    Simple Matching LPeg is a powerful notation for matching text data, which is more capable than Lua s ...

  4. nat转换

    实验目的: (1)     了解nat转换 (2)     了解nat转换配置命令 (3)     了解哪些是私有ip地址哪些不是私有ip地址 实验工具: 华为eNSP模拟器和Wireshar 实验拓 ...

  5. php建立MySQL数据表

    <?php $connect = mysql_connect("127.0.0.1","root",""); mysql_select ...

  6. TortoiseGit 添加ssh key

    TortoiseGit 使用扩展名为ppk的密钥,而不是ssh-keygen生成的rsa密钥.使用命令ssh-keygen -C "邮箱地址" -t rsa产生的密钥在Tortoi ...

  7. 论文笔记之:Deep Recurrent Q-Learning for Partially Observable MDPs

    Deep Recurrent Q-Learning for Partially Observable MDPs  摘要:DQN 的两个缺陷,分别是:limited memory 和 rely on b ...

  8. ASP.NET应用程序与页面生命周期

    http://www.cnblogs.com/suizhouqiwei/archive/2012/08/15/2637775.html

  9. web app变革之rem

    rem这是个低调的css单位,近一两年开始崭露头角,有许多同学对rem的评价不一,有的在尝试使用,有的在使用过程中遇到坑就弃用了.但是我对rem综合评价是用来做web app它绝对是最合适的人选之一. ...

  10. 鼠标滚动事件兼容性 wheel、onwheel

    wheelEvent = "onwheel" in document.createElement("div") ? "wheel" : // ...