LINQ之路系列】的更多相关文章

本系列文章将会分为3篇来进行阐述,如下: LINQ之路(1):LINQ基础 LINQ之路(2):LINQ to SQL本质 LINQ之路(3):LINQ扩展…
分享一个学习Linq的好博客:Linq之路…
Life a Poem http://www.cnblogs.com/lifepoem/archive/2011/11/22/2258830.html…
本篇将是关于LINQ Operators的最后一篇,包括:集合运算符(Set Operators).Zip操作符.转换方法(Conversion Methods).生成器方法(Generation Methods).集合运算符用语对两个sequence进行操作:Zip运算符同步遍历两个sequence(像一个拉链一样),返回的sequence基于在每一个元素对上应用lambda表达式:转换方法用来将实现了IEnumerable<T>的sequence转换到其他类型的集合,或从其他类型的集合转换…
在前面的系列中,我们已经讨论了LINQ简单查询的大部分特性,了解了LINQ的支持计术和语法形式.至此,我们应该可以创建出大部分相对简单的LINQ查询.在本篇中,除了对前面的知识做个简单的总结,还会介绍几种创建更复杂查询的方式,让我们在面对更复杂的场景时也能轻松面对,包括:子查询.创建策略和数据转换. 子查询 在创建一个复杂的查询时,通常我们需要用到子查询.相信大家都记得SQL查询里的子查询,在创建LINQ查询时也是如此.在LINQ中,对于方法语法,一个子查询包含在另外一个查询的lambda表达式…
书写LINQ查询时又两种语法可供选择:方法语法(Fluent Syntax)和查询语法(Query Expression). LINQ方法语法是非常灵活和重要的,我们在这里将描述使用链接查询运算符的方式来创建复杂的查询,方法语法的本质是通过扩展方法和Lambda表达式来创建查询.C# 3.0对于LINQ表达式还引入了声明式的查询语法,通过查询语法写出的查询比较类似于SQL查询.本篇会对LINQ方法语法进行详细的介绍. 当然,.NET公共语言运行库(CLR)并不具有查询语法的概念.所以,编译器会在…
本篇文章将从三个方面来进行LINQ扩展的阐述:扩展查询操作符.自定义查询操作符和简单模拟LINQ to SQL. 1.扩展查询操作符 在实际的使用过程中,Enumerable或Queryable中的扩展方法有时并不能满足我们的需要,我们需要自己扩展一些查询操作符以满足需要.例如,下面的例子: var r = Enumerable.Range(1, 10).Zip(Enumerable.Range(11, 5), (s, d) => s + d); foreach (var i in r) { C…
LINQ之路(2):LINQ to SQL本质 在前面一篇文章中回顾了LINQ基本语法规则,在本文将介绍LINQ to SQL的本质.LINQ to SQL是microsoft针对SQL Server的一个ORM的解决方案.既然是ORM,那对象(Object).关系数据(Relation)和映射(Mapping)这三个组成要素是不可或缺的.本文将分为对象和关系数据的映射.从查询表达式到SQL的转换和DataContext数据上下文三个部分来说明. 1.对象和关系数据的映射 通过定义对象和关系数据…
本篇继续LINQ Operators的介绍,包括元素运算符/Element Operators.集合方法/Aggregation.量词/Quantifiers Methods.元素运算符从一个sequence当中获取单个元素:集合方法对sequence进行统计/汇总并返回当个标量值:量词方法用于判断sequence是否满足特定条件并返回bool值. 元素运算符/Element Operators IEnumerable<TSource>→TSource Operator 说明 SQL语义 Fi…
Linux上天之路系列目录 Linux上天之路(一)之Linux前世今生 Linux上天之路(二)之Linux安装 Linux上天之路(三)之Linux系统目录 Linux上天之路(四)之Linux界面介绍 Linux上天之路(五)之Linux基本命令 Linux上天之路(六)之Linux文件管理 Linux上天之路(七)之Vim编辑器 Linux上天之路(八)之用户和组 Linux上天之路(九)之文件和文件夹的权限 Linux上天之路(十)之Linux磁盘管理 Linux上天之路(十一)之软件…