var WReserve = (from m in _db.W_RESERVE select m).ToList().LastOrDefault();

必须ToList() 之后才能 last first 函数,否则报错。这样会不会从数据库 取全部数据 然后再 last();未测试。

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Text;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections.Generic;
using System.Collections;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        #region 用Count()得出查询结果的个数
        Response.Write("<hr>用Count()得出查询结果的个数<br>");
        var langCount = (from s in GetStudents()
                           select s.Language)
                           .Distinct()
                           .Count();
        Response.Write(string.Format("<div class='result'>{0}</div>", langCount));
        #endregion

#region 用Count()的Lambda表达式满足条件的元素个数
        Response.Write("<hr>用Count()得出查询结果的个数<br>");
        var ageCoun = (from s in GetStudents()
                          select s.Age)
                          .Count(a=>a>22);
        Response.Write(string.Format("<div class='result'>{0}</div>", ageCoun));
        #endregion

#region 用Sum()将查询结果相加
        Response.Write("<hr>用Sum()将查询结果相加<br>");
        var ageSum = (from s in GetStudents()
                      select s.Age)
                       .Sum();
        //var ageSum = GetStudents().Sum(s=>s.Age);
        Response.Write(string.Format("<div class='result'>{0}</div>", ageSum));
        #endregion

#region 用Min()得出查询结果的最小值
        Response.Write("<hr>用Min()得出查询结果的最小值<br>");
        var ageMin = (from s in GetStudents()
                      select s.Age)
                       .Min();
        //var ageMin = GetStudents().Min(s => s.Age);
        Response.Write(string.Format("<div class='result'>{0}</div>", ageMin));
        #endregion

#region 用Max()得出查询结果的最大值
        Response.Write("<hr>用Max()得出查询结果的最大值<br>");
        var ageMax = (from s in GetStudents()
                      select s.Age)
                       .Max();
        //var ageMax = GetStudents().Max(s => s.Age);
        Response.Write(string.Format("<div class='result'>{0}</div>", ageMax));
        #endregion

#region 用Average()得出查询结果的平均值
        Response.Write("<hr>用Average()得出查询结果的平均值<br>");
        var ageAverage = (from s in GetStudents()
                      select s.Age)
                      .Average();
        //var ageAverage = GetStudents().Average(s => s.Age);
        Response.Write(string.Format("<div class='result'>{0}</div>", ageAverage));
        #endregion
    }

#region 构造一个学生集合体
    private List<Student> GetStudents()
    {
        List<Student> students = new List<Student> {
             new Student{ Name="YOUNG", Age=25, Language="Chinese"},
             new Student{ Name="JESSIE", Age=21, Language="Scotland"},
             new Student{ Name="KELLY", Age=18, Language="English"},
             new Student{ Name="JUNE", Age=20, Language="English"},
             new Student{ Name="ADRIAN", Age=22, Language="Italy"},
             new Student{ Name="BRUCE", Age=17, Language="Scotland"},
             new Student{ Name="BRANT", Age=30, Language="Germany"},
             new Student{ Name="BEN", Age=25, Language="Chinese"}
        };
        return students;
    }
    #endregion
}

#region 学生类
class Student
{
    public int Age { get; set; }
    public string Name { get; set; }
    public string Language { get; set; }
}
#endregion

Linq 聚合函数的更多相关文章

  1. Linq聚合函数使用

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  2. Linq聚合操作之Aggregate,Count,Sum,Distinct源码分析

    Linq聚合操作之Aggregate,Count,Sum,Distinct源码分析 一:Linq的聚合运算 1. 常见的聚合运算:Aggregate,Count, Sum, Distinct,Max, ...

  3. 可以这样去理解group by和聚合函数

    写在前面的话:用了好久group by,今天早上一觉醒来,突然感觉group by好陌生,总有个筋别不过来,为什么不能够select * from Table group by id,为什么一定不能是 ...

  4. TSQL 聚合函数忽略NULL值

    max,min,sum,avg聚合函数会忽略null值,但不代表聚合函数不返回null值,如果表为空表,或聚合列都是null,则返回null.count 聚合函数忽略null值,如果聚合列都是null ...

  5. SQL Server 聚合函数算法优化技巧

    Sql server聚合函数在实际工作中应对各种需求使用的还是很广泛的,对于聚合函数的优化自然也就成为了一个重点,一个程序优化的好不好直接决定了这个程序的声明周期.Sql server聚合函数对一组值 ...

  6. Mongodb学习笔记四(Mongodb聚合函数)

    第四章 Mongodb聚合函数 插入 测试数据 ;j<;j++){ for(var i=1;i<3;i++){ var person={ Name:"jack"+i, ...

  7. sql语句 之聚合函数

      聚合分析 在访问数据库时,经常需要对表中的某列数据进行统计分析,如求其最大值.最小值.平均值等.所有这些针对表中一列或者多列数据的分析就称为聚合分析. 在SQL中,可以使用聚合函数快速实现数据的聚 ...

  8. oracle数据库函数之============‘’分析函数和聚合函数‘’

    1分析函数 分析函数根据一组行来进行聚合计算,用于计算完成狙击的累积排名等,分析函数为每组记录返回多个行 rank_number() 查询结果按照次序排列,不存在并列和站位的情况,可以用于做Oracl ...

  9. ORACLE 自定义聚合函数

    用户可以自定义聚合函数  ODCIAggregate,定义了四个聚集函数:初始化.迭代.合并和终止. Initialization is accomplished by the ODCIAggrega ...

随机推荐

  1. 【例题收藏】◇例题·II◇ Berland and the Shortest Paths

    ◇例题·II◇ Berland and the Shortest Paths 题目来源:Codeforce 1005F +传送门+ ◆ 简单题意 给定一个n个点.m条边的无向图.保证图是连通的,且m≥ ...

  2. python基础数据类型之字符串操作

    1.字符串切片ps:字符串是不可变的对象, 所以任何操作对原字符 是不会有任何影响的 s1 = "python最简洁" print(s1[0]) print(s1[1]) prin ...

  3. tp5 使用技巧(持续更新中...)

    tp5 使用技巧(持续更新中...) 1.自动写入时间 create_time和update_time 使用save方法才行,insert方法不生效,不知为何 2.过滤字段 allowfield和st ...

  4. linux上面安装svn步骤

    一.安装 使用yum,非常简单 yum install subversion 二.配置 2.1.创建仓库 我们这里在/home下建立一个名为svn的仓库(repository),以后所有代码都放在这个 ...

  5. jQuery检测判断复选框是否被选中了的几种方法

    方法一:if ($("#checkbox-id")get(0).checked) {    // do something} 方法二:if($('#checkbox-id').is ...

  6. ERROR 1005 (HY000): Can't create table 'students.#sql-d9

    今天在创建外键的时候出现以下错误        ERROR 1005 (HY000): Can't create table 'students.#sql-d99_3' (errno: 150) 格式 ...

  7. LoadRunner使用代理远程执行提示找不到“pre_cci.c”文件

    好久没有使用LoadRunner了,工作需要使用一下,执行总是提示找不到“pre_cci.c”文件,找问题花了很长时间终于找到问题了.万事还是需要找到原因: cci 会将 pre_cci.c 文件作为 ...

  8. Win7更换锁屏和开机画面

    技术交流群:233513714 每次开机被Windows千年不变的开机画面和锁屏画面丑到的小伙伴们可以看过来,通过简单的几步就可以改掉系统默认的开机画面. 1.首先Windows+r键输入regedi ...

  9. HA集群中namenode连接不上journalnode,导致namenode启动不了

    查看日志发现一下的错误: 2018-10-08 15:29:26,373 FATAL org.apache.hadoop.hdfs.server.namenode.FSEditLog: Error: ...

  10. laravel5.5门面

    Facades为应用程序的 服务容器 中可用的类提供了一个 静态接口 . 最直观的好处 就是需记住必须手动注入或配置的长长的类名.因此有人也理解Facades就是一个"快捷别名" ...