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};

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

posted @ 2010-11-12 16:52  2012  阅读(2333)  评论(0编辑  收藏  举报