zoukankan      html  css  js  c++  java
  • Linq的概念解析

    http://www.cnblogs.com/2018/category/262512.html 这些文章中提到

    WCF Data Service和WCF RIA Service的使用,在实际的使用过程中会经常的使用linq,为此把这些概念解析一下。

    序列

    IEnumerable<T> ,这个类型是关键,LINQ的标准查询操作符都需要使用该类型对象作为参数

    查询操作符

    是指在LINQ查询上下文事业能够的、一系列扩展方法的集合,是实现linq的最重要的一类元素

    预定义的标准查询操作符:

    过滤

    OfType, Where

    投影

    Select, SelectMany

    分区

    Skip, SkipWhile, Take, TakeWhile

    连接

    GroupJoin, Join

    串联

    Concat

    排序

    OrderBy, OrderByDescending, Reverse, ThenBy, ThenByDescending

    分组

    GroupBy, ToLookup

    集合

    Distinct, Except, Intersect, Union

    转换

    AsEnumerable, AsQueryable, Cast, ToArray, ToDictionary, ToList

    等同

    SequenceEqual

    元素

    ElementAt, ElementAtOrDefault, First, FirstOrDefault, Last,

    生成

    LastOrDefault, Single, SingleOrDefault

    数量

    DefaultIfEmpty, Empty, Range, Repeat

    聚集

    All, Any, Contains

    查询表达式

    查询表达式提供了一种继承于语言中的、用于编写查询语句的语法。编译器自动将其转换为对标准查询操作符的调用。

    查询本操作符和查询表达是对应关系

    查询操作符

    查询表达式(C#)

    All

    Any

    Average

    Cast

    使用显式类型的范围变量,如 from int i in numbers

    Count

    Distinct

    GroupBy

    group … by
    group … by … into …

    GroupJoin

    join … in … on …
    equals … into…

    Join

    join … in … on …
    equals …

    LongCount

    Max

    Min

    OrderBy

    orderby

    OrderByDescending

    orderby … descending

    Select

    select

    SelectMany

    多个Frrom子句

    Skip

    SkipWhile

    Sum

    Take

    TakeWhile

    ThenBy

    orderby …, …

    ThenByDescending

    orderby …, …descending

    Where

    where

    两种写法相同效果的例子

    查询操作符

    查询表达式

    SampleData.Books

    .Where(book => book.Title == "Funny Stories")

    .OrderBy(book => book.Title)

    .Select(book => new {book.Title, book.Price});

    from book in SampleData.Books

    where book.Title == "Funny Stories"

    orderby book.Title

    select new {book.Title, book.Price};

    根据情况和语言中的对应限定关系选择使用。

  • 相关阅读:
    JS魔法堂:阻止元素被选中
    JS魔法堂之实战:纯前端的图片预览
    CentOS6.5菜鸟之旅:纯转载Linux目录结构
    Vim杂记:Sublime的配色方案
    Vim杂记:markdown插件
    CentOS6.5菜鸟之旅:中文编辑器忍痛放弃Sublime
    JS魔法堂:Data URI Scheme介绍
    CentOS6.5菜鸟之旅:安装ATI显卡驱动
    JS魔法堂:获取当前脚本文件的绝对路径
    腊八蒜
  • 原文地址:https://www.cnblogs.com/2018/p/1875850.html
Copyright © 2011-2022 走看看