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

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

时间: 2024-11-09 01:46:10

Linq的概念解析的相关文章

P2P、P2C 、O2O 、B2C、B2B、 C2C的概念解析

P2P.P2C .O2O .B2C.B2B. C2C的概念解析 P2P到底是什么呢? P2P借贷是一种将非常小额度的资金聚集起来借贷给有资金需求人群的一种民间小额借贷模式.P2P是"Peer-to-Peer"的简写,个人对个人的意思,P2P借贷指个人通过第三方平台(P2P公司)在收取一定服务费用的前提下向其他个人提供小额借贷的金融模式. P2P模式 第一种是纯线上模式,是纯粹的P2P,在这种平台模式上纯粹进行信息匹配,帮助资金借贷双方更好的进行资金匹配,但缺点明显,这种线上模式并不参与

【Alljoyn】Alljoyn学习笔记五 AllJoyn开源技术基础概念解析

AllJoyn开源技术基础概念解析 摘要: 总线(Bus) 实现P2P通信的基础 AllJoyn 的底层协议类似于D-Bus,相当于是跨设备分布式的 D-Bus 总线附件(Bus Attachment) 每一个连接到总线上的Alljoyn应用程序被称为总线附件,可用C++或Java编写 每个总线附件 ... 总线(Bus) 实现P2P通信的基础 AllJoyn 的底层协议类似于D-Bus,相当于是跨设备分布式的 D-Bus总线附件(Bus Attachment) 每一个连接到总线上的Alljoy

互联网+下的5个医疗安全概念解析

本文讲的是互联网+下的5个医疗安全概念解析,这两周不少人和笔者探讨关于移动医疗过程中的各种安全相关问题.忽然发现,一方面,同样的"安全"二字,在医疗和技术领域,许多人的理解似乎并不相同,另一方面,由于大家对安全的重视和知识信息的不足,一些被渲染安全问题,比较容易造成保守型恐惧,导致创新受阻.笔者虽然谈不上安全专家,不过确实算是读过系统安全验证的博士生,研习过完整的HIPAA课程.所以,结合笔者这些年在系统安全上遇到的各种实践经历,特别想用相对容易理解的言语澄清一些安全领域的概念,供更多

澄清云计算概念 解析云计算现状

本文讲的是澄清云计算概念 解析云计算现状,[IT168 资讯]如果你询问6个人关于如何来定义云计算的问题,你可能会得到至少一打数量的答案.而如果你询问他们软件即服务(SaaS)和云计算之间到底有怎样的关系时,你得到的答案可能就会更加多种多样. 当前,那些使用软件即服务的公司都通过基于订购的价格模型来获得应用软件,这也被大家普遍意义上称为按需软件.这种应用一般在公司外部进行部署(和公司内部安装的软件相反).这样所获得的结果就是获得软件和硬件成本的减少,并且初始的成本比较低,或者极大地减少了随之而来

Java中的stream流的概念解析及实际运用总结_java

流是字节序列的抽象概念. 文件是数据的静态存储形式,而流是指数据传输时的形态. 流类分为两个大类:节点流类和过滤流类(也叫处理流类). 程序用于直接操作目标设备所对应的类叫节点流类,程序也可以通过一个间接流类去调用节点流类,以达到更加灵活方便地读取各种类型的数据,这个间接流类就是过滤流类(也叫处理流类),或者称为包装类. 包装类的调用过程如下图: 流分类的关系不管流的分类是多么的丰富和复杂,其根源来自于四个基本的类.这个四个类的关系如下: 字节流 字符流 输入流 InputStream Read

Embedded Linux 技术与概念解析

引言 Embedded Linux技术基于开放源码的资源,并且已经是当今最重要的嵌入式应用技术之一.Embedded Linux是烧录在目标装置上的系统,1个Embedded Linux系统包含Linux kernel与 root filesystem 2大部分,Embedded Linux系统到底包含哪些组成要素构成,本文将由概念的层面进行解析. 本文 由于目前的目标装置,都必须嵌入极为复杂的功能,所以嵌入式操作系统(Embedded system)成为嵌入式系统不可或缺的要素.由于嵌入式系统

新手入门:J2ME基本概念解析

概念 J2ME,即Java 2 Micro Edition,是SUN公司推出的在移动设备上运行的微型版Java平台,常见的移动设备有手机,PDA,电子词典,以及各式各样的信息终端如机顶盒等等. 由于移动终端的类型成千上万,而且计算能力差异非常大,不可能像桌面系统那样仅仅两三个版本的JVM即可满足Windows,Linux和Unix系统,因此,J2ME不是一个简单的微型版的JVM.为了满足千差万别的移动设备的需求,SUN定义了一系列的针对不同类型设备的规范,因此,J2ME平台便是由许多的规范组成的

关于“网站重构”概念解析

概念|网站重构 近来大家总是在标准上争论不休,其实,这些问题一些相关文章已经说得很明白了. 以下我就谈谈我的看法.本帖子有太多的"我认为",说明了我只是想把我的想法拿出来跟大家商榷,或许有太多不对的地方,也请大家一一指出. 1.我对web标准的理解 所谓的web标准,在一些教程文章上已经得到结论:结构化标准(XHTML.XML).表现标准(CSS.XSLT?).行为标准(DOM.ECMAScript).这些东西在网上一搜一大把,在这里我就不多说了.我只说我自己的想法: a.标准是相对的

什么是AOP系列之一:AOP概念解析

概念 为什么要区分J2EE容器和J2EE应用系统? 我们知道,J2EE应用系统只有部署在J2EE容器中才能运行,那么为什么划分为J2EE容器和J2EE应用系统? 通过对J2EE容器运行机制的分析,我们可以发现:实际上J2EE容器分离了一般应用系统的一些通用功能,例如事务机制.安全机制以及对象池或线程池等性能优化机制. 这些功能机制是每个应用系统几乎都需要的,因此可以从具体应用系统中分离出来,形成一个通用的框架平台,而且,这些功能机制的设计开发有一定难度,同时运行的稳定性和快速性都非常重要,必须经