介绍
    ·Select - Select选择;延迟
    ·Where - Where查询;延迟
    ·OrderBy - 按指定表达式对集合正序排序;延迟
    ·OrderByDescending - 按指定表达式对集合倒序排序;延迟
    ·GroupBy - 分组;延迟
    ·Join - Join查询;延迟
    ·GroupJoin - 分组Join查询;延迟
    ·以上查询操作符所对应的查询语法

示例
Summary.aspx.cs

  1. using System;
  2. using System.Data;
  3. using System.Configuration;
  4. using System.Collections;
  5. using System.Linq;
  6. using System.Web;
  7. using System.Web.Security;
  8. using System.Web.UI;
  9. using System.Web.UI.WebControls;
  10. using System.Web.UI.WebControls.WebParts;
  11. using System.Web.UI.HtmlControls;
  12. using System.Xml.Linq;
  13.  
  14. using System.Collections.Generic;
  15. using DAL;
  16.  
  17. public partial class LINQ_Summary : System.Web.UI.Page
  18. {
  19. NorthwindDataContext _ctx = new NorthwindDataContext();
  20. string[] _ary = null;
  21.  
  22. protected void Page_Load(object sender, EventArgs e)
  23. {
  24. _ary = new string[] { "asp.net", "csharp", "xhtml", "css", "javascript",
  25. "wcf", "wpf", "silverlight", "linq", "wf",
  26. "sqlserver", "asp.net ajax", "ssis", "ssas", "ssrs" };
  27.  
  28. // Select - Select选择;延迟
  29. Summary_Select();
  30.  
  31. // Where - Where查询;延迟
  32. Summary_Where();
  33.  
  34. // OrderBy - 按指定表达式对集合正序排序;延迟
  35. // OrderByDescending - 按指定表达式对集合倒序排序;延迟
  36. Summary_OrderBy_OrderByDescending();
  37.  
  38. // GroupBy - 分组;延迟
  39. Summary_GroupBy();
  40.  
  41. // Join - Join查询;延迟
  42. Summary_Join();
  43.  
  44. // GroupJoin - 分组Join查询;延迟
  45. Summary_GroupJoin();
  46. }
  47. }

  Select - Select选择;延迟

  1. /// <summary>
  2. /// Select - Select选择;延迟
  3. /// </summary>
  4. void Summary_Select()
  5. {
  6. // 使用Select查询操作符
  7. var categories = _ctx.Categories.Select(
  8. c => new { CategoryName = "类别名称:" + c.CategoryName });
  9.  
  10. foreach (var c in categories)
  11. {
  12. result.InnerHtml += c.CategoryName + "<br />";
  13. }
  14. result.InnerHtml += "<br />";
  15.  
  16. // 与上面的Select查询操作符相对应的查询语法
  17. var categories2 = from c in _ctx.Categories
  18. select new { CategoryName = "类别名称:" + c.CategoryName };
  19.  
  20. foreach (var c in categories2)
  21. {
  22. result.InnerHtml += c.CategoryName + "<br />";
  23. }
  24. result.InnerHtml += "<br />";
  25. }

  运行结果
类别名称:Beverages
类别名称:Condiments
类别名称:Confections
类别名称:Dairy Products
类别名称:Grains/Cereals
类别名称:Meat/Poultry
类别名称:Produce
类别名称:Seafood

Where - Where查询;延迟

  1. /// <summary>
  2. /// Where - Where查询;延迟
  3. /// </summary>
  4. void Summary_Where()
  5. {
  6. // 使用Where查询操作符
  7. var ary = _ary.Where(a => a.StartsWith("w") && a.EndsWith("f"));
  8.  
  9. foreach (string s in ary)
  10. {
  11. result.InnerHtml += s + "<br />";
  12. }
  13. result.InnerHtml += "<br />";
  14.  
  15. // 与上面的Where查询操作符相对应的查询语法
  16. var ary2 = from a in _ary
  17. where a.StartsWith("w") && a.EndsWith("f")
  18. select a;
  19.  
  20. foreach (string s in ary2)
  21. {
  22. result.InnerHtml += s + "<br />";
  23. }
  24. result.InnerHtml += "<br />";
  25. }

  运行结果
wcf
wpf
wf

OrderBy - 按指定表达式对集合正序排序;延迟
OrderByDescending - 按指定表达式对集合倒序排序;延迟

  1. /// <summary>
  2. /// OrderBy - 按指定表达式对集合正序排序;延迟
  3. /// OrderByDescending - 按指定表达式对集合倒序排序;延迟
  4. /// </summary>
  5. void Summary_OrderBy_OrderByDescending()
  6. {
  7. // 使用OrderBy查询操作符
  8. var ary = (from a in _ary
  9. select a).OrderBy(a => a.Length); // OrderByDescending与OrderBy用法相同
  10.  
  11. foreach (string s in ary)
  12. {
  13. result.InnerHtml += s + "<br />";
  14. }
  15. result.InnerHtml += "<br />";
  16.  
  17. // 与上面的OrderBy查询操作符相对应的查询语法
  18. var ary2 = from a in _ary
  19. orderby a.Length ascending // orderby xxx descending与orderby xxx ascending用法相同
  20. select a;
  21.  
  22. foreach (string s in ary2)
  23. {
  24. result.InnerHtml += s + "<br />";
  25. }
  26. result.InnerHtml += "<br />";
  27. }

 运行结果
wf
css
wcf
wpf
linq
ssis
ssas
ssrs
xhtml
csharp
asp.net
sqlserver
javascript
silverlight
asp.net ajax
 

GroupBy - 分组;延迟

  1. /// <summary>
  2. /// GroupBy - 分组;延迟
  3. /// </summary>
  4. void Summary_GroupBy()
  5. {
  6. // 使用GroupBy查询操作符
  7. var list = (from a in _ary
  8. select a).GroupBy(a => a.Length).Select(
  9. g => new { Group = g.Key, Member = g });
  10.  
  11. foreach (var g in list)
  12. {
  13. result.InnerHtml += g.Group + "个字符:<br />";
  14.  
  15. foreach (string s in g.Member)
  16. {
  17. result.InnerHtml += "--" + s + "<br />";
  18. }
  19. }
  20. result.InnerHtml += "<br />";
  21.  
  22. // 与上面的GroupBy查询操作符相对应的查询语法
  23. var list2 = from a in _ary
  24. group a by a.Length into g
  25. select new { Group = g.Key, Member = g };
  26.  
  27. foreach (var g in list2)
  28. {
  29. result.InnerHtml += g.Group + "个字符:<br />";
  30.  
  31. foreach (string s in g.Member)
  32. {
  33. result.InnerHtml += "--" + s + "<br />";
  34. }
  35. }
  36. result.InnerHtml += "<br />";
  37. }

  运行结果
7个字符:
--asp.net
6个字符:
--csharp
5个字符:
--xhtml
3个字符:
--css
--wcf
--wpf
10个字符:
--javascript
11个字符:
--silverlight
4个字符:
--linq
--ssis
--ssas
--ssrs
2个字符:
--wf
9个字符:
--sqlserver
12个字符:
--asp.net ajax

Join - Join查询;延迟

  1. /// <summary>
  2. /// Join - Join查询;延迟
  3. /// </summary>
  4. void Summary_Join()
  5. {
  6. // 使用Join查询操作符
  7. var products = _ctx.Products.Join(
  8. _ctx.Categories,
  9. p => p.CategoryID,
  10. c => c.CategoryID,
  11. (p, c) => new { c.CategoryName, p.ProductName }).Take(5);
  12.  
  13. foreach (var p in products)
  14. {
  15. result.InnerHtml += p.CategoryName + " - " + p.ProductName + "<br />";
  16. }
  17. result.InnerHtml += "<br />";
  18.  
  19. // 与上面的Join查询操作符相对应的查询语法
  20. var products2 = (from p in _ctx.Products
  21. join c in _ctx.Categories
  22. on p.CategoryID equals c.CategoryID
  23. select new { c.CategoryName, p.ProductName }).Take(5);
  24.  
  25. foreach (var p in products2)
  26. {
  27. result.InnerHtml += p.CategoryName + " - " + p.ProductName + "<br />";
  28. }
  29. result.InnerHtml += "<br />";

  运行结果
Beverages - Chai
Beverages - Chang
Condiments - Aniseed Syrup
Condiments - Chef Anton's Cajun Seasoning
Condiments - Chef Anton's Gumbo Mix

GroupJoin - 分组Join查询;延迟

  1. /// <summary>
  2. /// GroupJoin - 分组Join查询;延迟
  3. /// </summary>
  4. void Summary_GroupJoin()
  5. {
  6. // 使用GroupJoin查询操作符
  7. var products = _ctx.Categories.GroupJoin(
  8. _ctx.Products,
  9. c => c.CategoryID,
  10. p => p.CategoryID,
  11. (p, g) => new { p.CategoryName, ProductCount = g.Count() });
  12.  
  13. foreach (var g in products)
  14. {
  15. result.InnerHtml += g.CategoryName + ":" + g.ProductCount + "<br />";
  16.  
  17. }
  18. result.InnerHtml += "<br />";
  19.  
  20. // 与上面的GroupJoin查询操作符相对应的查询语法
  21. var products2 = from c in _ctx.Categories
  22. join p in _ctx.Products on c.CategoryID equals p.CategoryID into g
  23. select new { CategoryName = c.CategoryName, ProductCount = g.Count() };
  24.  
  25. foreach (var g in products2)
  26. {
  27. result.InnerHtml += g.CategoryName + ":" + g.ProductCount + "<br />";
  28.  
  29. }
  30. result.InnerHtml += "<br />";
  31. }

  运行结果
Beverages:12
Condiments:12
Confections:13
Dairy Products:10
Grains/Cereals:7
Meat/Poultry:6
Produce:5
Seafood:12

LINQ查询操作符之Select、Where、OrderBy、OrderByDescending、GroupBy、Join、GroupJoin及其对应的查询语法的更多相关文章

  1. .NET 3.5(5) - LINQ查询操作符之Select、Where、OrderBy、OrderByDescending

    .NET 3.5(5) - LINQ查询操作符之Select.Where.OrderBy.OrderByDescending 介绍    ·Select - Select选择:延迟    ·Where ...

  2. Linq基础操作之Select,Where,OrderBy,ThenBy源码分析

    Linq基础操作之Select,Where,OrderBy,ThenBy源码分析 二:Select 它是延迟执行.yield有得一拼,因为他们都是生成了一个枚举类. if (source is TSo ...

  3. Mysql查询语句,select,inner/left/right join on,group by.....[例题及答案]

    创建如下表格,命名为stu_info, course_i, score_table. 题目: 有如图所示的三张表结构,学生信息表(stu_info),课程信息表(course_i),分数信息表(sco ...

  4. LINQ标准查询操作符(一)——select、SelectMany、Where、OrderBy、OrderByDescending、ThenBy、ThenByDescending和Reverse

    一.投影操作符 1. Select Select操作符对单个序列或集合中的值进行投影.下面的示例中使用select从序列中返回Employee表的所有列: //查询语法 var query = fro ...

  5. 转linq中的Single()、First()、Take(1) LINQ 标准的查询操作符 排序 orderby、thenby、Take

    Single():操作一个集合,同时强要求只有一个对象匹配,并返回这一个. First():操作一个集合,可以有多个对象匹配,但是只返回第一个. Take(1):操作一个集合,可以有对个对象匹配,单只 ...

  6. LINQ 学习路程 -- 查询操作 OrderBy & OrderByDescending

    Sorting Operator Description OrderBy 通过给定的字段进行升序 降序 排序 OrderByDescending 通过给定字段进行降序排序,仅在方法查询中使用 Then ...

  7. LinQ实战学习笔记(三) 序列,查询操作符,查询表达式,表达式树

    序列 延迟查询执行 查询操作符 查询表达式 表达式树 (一) 序列 先上一段代码, 这段代码使用扩展方法实现下面的要求: 取进程列表,进行过滤(取大于10M的进程) 列表进行排序(按内存占用) 只保留 ...

  8. LINQ标准查询操作符详解(转)

     一. 关于LINQ       LINQ 英文全称是“Language-Integrated Query”,中文为“语言集成查询”,它是微软首席架构师.Delphi 之父和C# 之父——Anders ...

  9. Linq to OBJECT延时标准查询操作符

    1.Where 操作符用于限定输入集合中的元素,将符合条件的元素组织声称一个序列结果.2.Select  操作符用于根据输入序列中的元素创建相应的输出序列中的元素,输出序列中的元素类型可以与输入序列中 ...

随机推荐

  1. 运用js解决java selenium元素定位问题

    一.解决定位并操作uneditable元素 尝试了通过id,xpath等等定位元素后点击都提示Element is not clickable at point 再看了下可以click的元素发现上面有 ...

  2. 英文缩写&名词

    DAO:Data Access Object 数据访问对象 Abstract Oriented Programing 面向借口编程 IOC: Inversion of Control 控制反转 DI: ...

  3. .htaccess应该放在哪里?

    根据 Apache 官方的介绍,.htaccess 文件属于分布式配置文件,可以放置在网站 www 根目录的所有子目录.以及 www 根目录的上一级目录中,生效的路径总是当前目录及其所有子目录(可在文 ...

  4. vm10虚拟机安装Mac OS X10.10教程[转]

    update:http://www.sysprobs.com/vmware-workstation-8-0-8-0-1-unlocker-to-run-mac-os-x-guest-in-window ...

  5. 为什么使用 Bootstrap?

    为什么使用 Bootstrap? 移动设备优先:自 Bootstrap 3 起,框架包含了贯穿于整个库的移动设备优先的样式. 浏览器支持:所有的主流浏览器都支持 Bootstrap.      容易上 ...

  6. java中byte, int的转换

    最近在做些与编解码相关的事情,又遇到了byte和int的转换,看着那些关于反码.补码的说明依旧头疼,还是记下些实用的方法吧.int -> byte可以直接使用强制类型转换: byte b = ( ...

  7. SQLite常用命令

    1.点命令 [退出SQLite提示符] .quit .exit [帮助] .help [显示设置] .show 2.语法 [结束符] : --一行语句的结束以分号(:)结尾 [CREATE TABLE ...

  8. Spring配置中的classpath和classpath*的区别

    初学SSH框架,昨天在配置Spring的时候,提示我找不到Spring.xml文件,后面百度之后把classpath改成classpath* 就好了,下面是了解到的简单区别. classpath:只会 ...

  9. JavaScript字符串常用操作函数之学习笔记

    字符串简介 使用英文单引号或双引号括起来,如:’Hello’,”World”,但是不能首尾的单引号和双引号必须一致,交错使用,如果要打印单引号或者双引号,可以使用转义字符\’(单引号),\”(双引号) ...

  10. MJExtension框架介绍

    MJExtension框架介绍 标签: MJExtension 2015-05-01 08:22 1120人阅读 评论(0) 收藏 举报  分类: Foundation(14)  版权声明:本文为博主 ...