LINQ编程技术内幕
基本信息
- 原书名: LINQ Unleashed: for C#
- 原出版社: Sams
- 作者: (美)Paul Kimmel [作译者介绍]
- 译者: 唐学韬
- 丛书名: Microsoft核心技术丛书
- 出版社:机械工业出版社
- ISBN:9787111267591
- 上架时间:2009-6-22
- 出版日期:2009 年6月
- 开本:16开
- 页码:414
- 版次:1-1
- 所属分类:
计算机 > 软件与程序设计 > 综合 > 高级程序语言设计
编辑推荐
本书是一本优秀的教学指南,它结合C# 3.0和Visual Studio 2008对LINQ进行了讲解。本书介绍了LINQ编程的各个方面,展示了LINQ是如何帮你显著提高生产效率的,还告诉了你应当如何用LINQ创建具有更高可靠性和可维护性的应用程序。
内容简介回到顶部↑
书籍
计算机书籍
本书结合c# 3.0和visual studio 2008对linq进行了实操型讲解。本书介绍了linq编程的各个方面,展示了linq是如何帮你显著提高生产效率的,还告诉了你应当如何用linq创建具有更高可靠性和可维护性的应用程序。.
本书首先介绍了linq所用到的最新的c#编程技术,比如匿名类型、分部方法以及lambda表达式等。接着,通过具体的示例和易于改写的范例代码,分别针对对象、数据库和xml详细介绍了linq这个强大的新技术。你将会对linq的工作方式有一个深入而实用的理解,还会学到如何通过xml与其它数据模型的结合来实现各种各样的数据处理功能。
本书不仅适合linq的初学者,而且对.net数据处理人员、asp.net开发人员和windows form开发人员都有非常大的帮助,同时也可以作为高等学校计算机或相关专业的教材使用。
microsoft积极参与的linq查询技术使得程序员可以轻松地从任何数据源获取任何数据,而且不用关心这些数据是从哪来的,也不用关心这些数据是如何存储的。
本书是一本优秀的教学指南,它结合c# 3.0和visual studio 2008对linq进行了讲解。本书介绍了linq编程的各个方面,展示了linq是如何帮你显著提高生产效率的,还告诉了你应当如何用linq创建具有更高可靠性和可维护性的应用程序。
本书首先介绍了linq所用到的最新的c#编程技术,比如匿名类型、分部方法以及lambda表达式等。接着,通过具体的示例和易于改写的范例代码,分别针对对象、数据库和xml详细介绍了linq这个强大的新技术。你将会对linq的工作方式有一个深入而实用的理解,还会学到如何通过xml与其他数据模型的结合来实现各种各样的数据处理功能。
本书包括以下内容:
编写高效的linq查询以处理.net对象、sql数据库以及xml数据。
利用匿名类型以降低编程难度,减少设计时间和调试时间。..
利用yield return这个新概念自动生成.net状态机。
掌握linq查询语法、运算符、扩展方法、排序、分组、聚合和集合操作等。
充分利用select以及在n层应用程序的业务层中使用它。
查询存储在microsoft sql server中的关系型数据。
利用可空类型消除不必要的数据库访问代码。
结合ado.net 3.0以及microsoft新推出的功能强大的entity framework使用linq。
提取xml数据(无需麻烦而复杂的xpath)。
从csv文件和其他非xml数据中自动构造出xml。
通过对linq进行扩展的方式来查询活动目录。...
计算机书籍
本书结合c# 3.0和visual studio 2008对linq进行了实操型讲解。本书介绍了linq编程的各个方面,展示了linq是如何帮你显著提高生产效率的,还告诉了你应当如何用linq创建具有更高可靠性和可维护性的应用程序。.
本书首先介绍了linq所用到的最新的c#编程技术,比如匿名类型、分部方法以及lambda表达式等。接着,通过具体的示例和易于改写的范例代码,分别针对对象、数据库和xml详细介绍了linq这个强大的新技术。你将会对linq的工作方式有一个深入而实用的理解,还会学到如何通过xml与其它数据模型的结合来实现各种各样的数据处理功能。
本书不仅适合linq的初学者,而且对.net数据处理人员、asp.net开发人员和windows form开发人员都有非常大的帮助,同时也可以作为高等学校计算机或相关专业的教材使用。
microsoft积极参与的linq查询技术使得程序员可以轻松地从任何数据源获取任何数据,而且不用关心这些数据是从哪来的,也不用关心这些数据是如何存储的。
本书是一本优秀的教学指南,它结合c# 3.0和visual studio 2008对linq进行了讲解。本书介绍了linq编程的各个方面,展示了linq是如何帮你显著提高生产效率的,还告诉了你应当如何用linq创建具有更高可靠性和可维护性的应用程序。
本书首先介绍了linq所用到的最新的c#编程技术,比如匿名类型、分部方法以及lambda表达式等。接着,通过具体的示例和易于改写的范例代码,分别针对对象、数据库和xml详细介绍了linq这个强大的新技术。你将会对linq的工作方式有一个深入而实用的理解,还会学到如何通过xml与其他数据模型的结合来实现各种各样的数据处理功能。
本书包括以下内容:
编写高效的linq查询以处理.net对象、sql数据库以及xml数据。
利用匿名类型以降低编程难度,减少设计时间和调试时间。..
利用yield return这个新概念自动生成.net状态机。
掌握linq查询语法、运算符、扩展方法、排序、分组、聚合和集合操作等。
充分利用select以及在n层应用程序的业务层中使用它。
查询存储在microsoft sql server中的关系型数据。
利用可空类型消除不必要的数据库访问代码。
结合ado.net 3.0以及microsoft新推出的功能强大的entity framework使用linq。
提取xml数据(无需麻烦而复杂的xpath)。
从csv文件和其他非xml数据中自动构造出xml。
通过对linq进行扩展的方式来查询活动目录。...
作译者回到顶部↑
本书提供作译者介绍
Paul Kimmel是一名有着20多年工作经验的软件架构师和.NET开发人员。他经常为企业和政府机构设计和实现大型应用程序。他编撰的技术书籍包括《Visual Basic.NET Power Coding》、《Advanced C# Programming》、《UML Demystified》以及《Visual Basic.NET Unleashed》。他连续四年当选为Microsoft MVP。...
.. << 查看详细
.. << 查看详细
目录回到顶部↑
译者序.
序
前言
致谢
第一部分 为linq作准备
第1章 使用匿名类型
1.1 理解匿名类型
1.2 使用匿名类型
1.3 匿名类型的数据绑定
1.4 测试匿名类型的相等性
1.5 通过linq查询使用匿名类型
1.6 泛型匿名方法简介
1.7 小结
第2章 使用复合类型初始化
2.1 通过命名类型初始化对象
2.2 初始化匿名类型
2.3 初始化集合
2.4 使用转换运算符
2.5 小结
第3章 定义扩展方法和分部方法
序
前言
致谢
第一部分 为linq作准备
第1章 使用匿名类型
1.1 理解匿名类型
1.2 使用匿名类型
1.3 匿名类型的数据绑定
1.4 测试匿名类型的相等性
1.5 通过linq查询使用匿名类型
1.6 泛型匿名方法简介
1.7 小结
第2章 使用复合类型初始化
2.1 通过命名类型初始化对象
2.2 初始化匿名类型
2.3 初始化集合
2.4 使用转换运算符
2.5 小结
第3章 定义扩展方法和分部方法
译者序回到顶部↑
非常荣幸我能够翻译这本书,不仅因为它是SAMS公司大名鼎鼎的Unleashed系列的一员,更因为我平时也经常关注Paul Kimmel的系列文章。对我而言,Paul Kimmel是一个爱好非常广泛的程序员前辈,这一点从他的书或文章中能够很明显地感觉到,而我也一直想成为他这样的程序员。因此,这次当机械工业出版社华章分社的陈冀康老师找我翻译这本书的时候,我着实兴奋了一把。.
本书的用辞很有意思,我在拿到原书之后,花了5天的时间一口气读完了,感觉就像是在看小说。Paul Kimmel不仅给我们带来了LINQ的完整学习方案,而且还在其中加入了不少的小故事,让读者能够更加愉快地学习LINQ这一门新技术,真正实现了“寓教于乐”的教学模式。
本书分四部分,共23章,分别介绍了LINQ的各个方面。在正式开始介绍LINQ之前,Paul在第一部分向我们讲解了使用LINQ所必需的一些基础知识,如匿名类型(Anonymous Type)和Lambda表达式(Lambda Expression)等,这使得我们可以在后续的学习过程中不会感到一丁点儿的吃力。在第二部分中,Paul向我们介绍了针对对象的LINQ。在这部分中,他着重介绍了LINQ的一些基本概念,为了使我们能够更好地理解这些知识,他还安排了一个章节的内容来介绍如何用LINQ操作Outlook和AD中的数据。在第三部分中,Paul着重向我们介绍了针对数据的LINQ,还前瞻性地介绍了ADO.NET 3.0和Entity Framework(当然,这本书出版的时候,这些东西差不多都已经正式发布了)。在本书最后一部分中,Paul介绍了针对XML的LINQ,在最后一章中还介绍了我们在XML变成时期待已久的智能感知解决方案——LINQ to XSD。由此可见,本书所讲解的内容真真切切地覆盖了LINQ编程的方方面面。..
在我看来,Paul真的是做了一件很漂亮的工作,因为他不仅系统全面地介绍了LINQ这门新技术,而且还能让许多由于对LINQ一知半解而对其嗤之以鼻的人重新认识它。
大家准备好了吗?那么,我们就跟着Paul踏上美妙的LINQ之旅吧!...
唐学韬
2009年5月于广州
本书的用辞很有意思,我在拿到原书之后,花了5天的时间一口气读完了,感觉就像是在看小说。Paul Kimmel不仅给我们带来了LINQ的完整学习方案,而且还在其中加入了不少的小故事,让读者能够更加愉快地学习LINQ这一门新技术,真正实现了“寓教于乐”的教学模式。
本书分四部分,共23章,分别介绍了LINQ的各个方面。在正式开始介绍LINQ之前,Paul在第一部分向我们讲解了使用LINQ所必需的一些基础知识,如匿名类型(Anonymous Type)和Lambda表达式(Lambda Expression)等,这使得我们可以在后续的学习过程中不会感到一丁点儿的吃力。在第二部分中,Paul向我们介绍了针对对象的LINQ。在这部分中,他着重介绍了LINQ的一些基本概念,为了使我们能够更好地理解这些知识,他还安排了一个章节的内容来介绍如何用LINQ操作Outlook和AD中的数据。在第三部分中,Paul着重向我们介绍了针对数据的LINQ,还前瞻性地介绍了ADO.NET 3.0和Entity Framework(当然,这本书出版的时候,这些东西差不多都已经正式发布了)。在本书最后一部分中,Paul介绍了针对XML的LINQ,在最后一章中还介绍了我们在XML变成时期待已久的智能感知解决方案——LINQ to XSD。由此可见,本书所讲解的内容真真切切地覆盖了LINQ编程的方方面面。..
在我看来,Paul真的是做了一件很漂亮的工作,因为他不仅系统全面地介绍了LINQ这门新技术,而且还能让许多由于对LINQ一知半解而对其嗤之以鼻的人重新认识它。
大家准备好了吗?那么,我们就跟着Paul踏上美妙的LINQ之旅吧!...
唐学韬
2009年5月于广州
前言回到顶部↑
从我第一次写代码算起,到你把这本书拿到手的那个时候,我就已经写了30年的代码了。最早的那段代码是用一台TRS-80上的ROM-BASIC编写的,那会儿我正在密歇根州奥沃索的华盛顿中学念五年级。让“坦克”倒着走并在屏幕上来回地放子弹,这的确是一件很爽的事情。还有更爽的,那就是,通过调整代码的方式来改变子弹的速度和目标的数量。年复一年,三十年过去了,我越来越为此而感到兴奋。有不少很棒的技术即将出现在我们面前,比如微软的Surface、Popfly以及LINQ等。本书就是关于LINQ(Language INtegrated Query,语言集成查询)的。.
LINQ是为C#开发的一种类似于SQL的语言。我第一次看到它时,我真的不喜欢它。我的第一印象是,有人把C#搞得更烂了,用这玩意儿写出来的东西跟SQL一样丑。我不喜欢它完全是因为我还不了解它。不过,我给了LINQ第二次机会(我希望你也能这样),然后我发现,LINQ是高度集成的而且非常强大,简直就像是一辆Tesla Roadster或是一架Extra 300L。
LINQ的查询能力扩展到了对象、SQL、数据集、XML、XSD、实体上面,此外,还能扩展到其他提供者上面去,比如活动目录和SharePoint。也就是说,你可以针对对象、数据、XML、XSD、实体,或是活动目录而编写不同的查询语句(语法上都是相似的),就像是在数据库中编写SQL查询一样。另外,LINQ非常巧妙且出色的构建于泛型技术以及.NET 3.5中的一些新特性(比如扩展方法、匿名类型和Lambda表达式)之上。LINQ的另一个重要特点就是,它非常明显的表露出了微软的一种意愿,即既要革新又要利用那些最好的现有技术(如20世纪30年代出现的Lambda Calculus(λ演算));只要觉得某种技术还不错,那么就把这些元素吸收到我们所喜爱的工具或语言中去。
LINQ及其构成基础都很强大,在本书中,你将会学到许多知识,这将有助于你全面掌握LINQ的使用方法并快速上手。你将学到有关匿名方法、扩展方法、Lambda表达式、状态机等知识,并学习如何编写LINQ查询,还会了解到泛型和CodeDOM在诸如LINQ这样的强大工具中所扮演的角色。你将弄清楚一个问题,即为什么要在更大更复杂的应用场景中使用LINQ。你将意识到,如果不用再编写那些你没有必要亲自动手的代码的话,究竟可以省下多少时间和精力。此外,你还将认识到,LINQ其实是很适合于n层架构的,它能使您在沿其总体方针的情况下,按时完成任务。
本书是由一名获得了四次Microsoft MVP称号且做了十多年专栏作者的人编写的,本书将向你讲解有关LINQ以及.NET 3.5新特性的一切知识,并告诉你如何变得比以前更有效率且获得更多的乐趣。..
本书使用约定
本书所使用的排版约定如下:
代码行、命令、语句、变量以及你将在屏幕上看到的文字将使用等宽字体。
代码清单中偶尔出现的粗体字是用来提醒你当前所讨论的就是这段代码。
语法描述中的占位符将使用斜体等宽字体。你需要将这些占位符替换为实际的文件名、参数,或是它所代表的其他任何元素。
斜体字用于突出显示当前正在定义的技术术语。
代码行前面的连接符图标说明该行是上一行的延续。有时,一行代码会很长,因此无法在页面的一个单行上显示出来。如果你在某个代码行的前面看到了→,那么请记得该行是前一行的一部分。
本书也含有注意、提示、警告等内容,它们将帮助你更快地找到重要或有用的信息。...
LINQ是为C#开发的一种类似于SQL的语言。我第一次看到它时,我真的不喜欢它。我的第一印象是,有人把C#搞得更烂了,用这玩意儿写出来的东西跟SQL一样丑。我不喜欢它完全是因为我还不了解它。不过,我给了LINQ第二次机会(我希望你也能这样),然后我发现,LINQ是高度集成的而且非常强大,简直就像是一辆Tesla Roadster或是一架Extra 300L。
LINQ的查询能力扩展到了对象、SQL、数据集、XML、XSD、实体上面,此外,还能扩展到其他提供者上面去,比如活动目录和SharePoint。也就是说,你可以针对对象、数据、XML、XSD、实体,或是活动目录而编写不同的查询语句(语法上都是相似的),就像是在数据库中编写SQL查询一样。另外,LINQ非常巧妙且出色的构建于泛型技术以及.NET 3.5中的一些新特性(比如扩展方法、匿名类型和Lambda表达式)之上。LINQ的另一个重要特点就是,它非常明显的表露出了微软的一种意愿,即既要革新又要利用那些最好的现有技术(如20世纪30年代出现的Lambda Calculus(λ演算));只要觉得某种技术还不错,那么就把这些元素吸收到我们所喜爱的工具或语言中去。
LINQ及其构成基础都很强大,在本书中,你将会学到许多知识,这将有助于你全面掌握LINQ的使用方法并快速上手。你将学到有关匿名方法、扩展方法、Lambda表达式、状态机等知识,并学习如何编写LINQ查询,还会了解到泛型和CodeDOM在诸如LINQ这样的强大工具中所扮演的角色。你将弄清楚一个问题,即为什么要在更大更复杂的应用场景中使用LINQ。你将意识到,如果不用再编写那些你没有必要亲自动手的代码的话,究竟可以省下多少时间和精力。此外,你还将认识到,LINQ其实是很适合于n层架构的,它能使您在沿其总体方针的情况下,按时完成任务。
本书是由一名获得了四次Microsoft MVP称号且做了十多年专栏作者的人编写的,本书将向你讲解有关LINQ以及.NET 3.5新特性的一切知识,并告诉你如何变得比以前更有效率且获得更多的乐趣。..
本书使用约定
本书所使用的排版约定如下:
代码行、命令、语句、变量以及你将在屏幕上看到的文字将使用等宽字体。
代码清单中偶尔出现的粗体字是用来提醒你当前所讨论的就是这段代码。
语法描述中的占位符将使用斜体等宽字体。你需要将这些占位符替换为实际的文件名、参数,或是它所代表的其他任何元素。
斜体字用于突出显示当前正在定义的技术术语。
代码行前面的连接符图标说明该行是上一行的延续。有时,一行代码会很长,因此无法在页面的一个单行上显示出来。如果你在某个代码行的前面看到了→,那么请记得该行是前一行的一部分。
本书也含有注意、提示、警告等内容,它们将帮助你更快地找到重要或有用的信息。...
序言回到顶部↑
数据几乎影响着我们生活中的方方面面。我们所做的每件事情其实就是分析查阅数据,然后再以优惠券或其他市场营销手段对分析结果做出反应。在编写一个应用程序的时候,你可以清楚地知道这种或那种数据将会成为该解决方案的一部分。对于软件开发人员来说,在开发大型应用程序的时候,降低存取数据以及分析数据时的难度是很有必要的。事实上,数据会以各种各样的形式出现,人们很快便找到了一个具有很高价值的办法,即使用一个统一的框架来访问各种类型的数据。.
多年以来,可供Windows开发人员使用的各种数据访问方法层出不穷。ADO和OLEDB,以及再后来的ADO.NET都为我们提供了一种统一的关系型数据库访问方法。MSXML和ADO.NET使我们能够遍历和操作XML文档。虽然这些技术都有着不同的优点和缺点,但是它们都有着同一个问题:它们都无法让开发人员在编写数据访问操作代码的时候觉得舒服、自然。
现在,LINQ使数据访问成为了.NET中的一个高级编程概念,它使得开发人员能够用一种更有意义的方式来表述其所期望的查询。LINQ能够如此的强大,那是因为它让开发人员能够完全依靠智能感知技术来创建类型安全的数据访问代码和编译期的语法检查。..
Paul Kimmel做了一件非常漂亮的事情,因为他用一种简洁而又完整的方式介绍了LINQ。他不仅使你了解了LINQ,而且还非常专业地阐述了诸如匿名类型(Anonymous Type)以及Lambda表达式(Lambda Expression)等概念。本书中的示例代码给出了一些利用该技术的应用程序,它们都是以一种简明扼要的方式呈现出来的。这是一本非常不错的图书,可以在周六早晨沏一壶咖啡边喝边看。我希望你也能研读一下这本书,然后你会跟我一样从中学到很多知识的。...
Darryl Hogan
Architect Evangelist,Microsoft
多年以来,可供Windows开发人员使用的各种数据访问方法层出不穷。ADO和OLEDB,以及再后来的ADO.NET都为我们提供了一种统一的关系型数据库访问方法。MSXML和ADO.NET使我们能够遍历和操作XML文档。虽然这些技术都有着不同的优点和缺点,但是它们都有着同一个问题:它们都无法让开发人员在编写数据访问操作代码的时候觉得舒服、自然。
现在,LINQ使数据访问成为了.NET中的一个高级编程概念,它使得开发人员能够用一种更有意义的方式来表述其所期望的查询。LINQ能够如此的强大,那是因为它让开发人员能够完全依靠智能感知技术来创建类型安全的数据访问代码和编译期的语法检查。..
Paul Kimmel做了一件非常漂亮的事情,因为他用一种简洁而又完整的方式介绍了LINQ。他不仅使你了解了LINQ,而且还非常专业地阐述了诸如匿名类型(Anonymous Type)以及Lambda表达式(Lambda Expression)等概念。本书中的示例代码给出了一些利用该技术的应用程序,它们都是以一种简明扼要的方式呈现出来的。这是一本非常不错的图书,可以在周六早晨沏一壶咖啡边喝边看。我希望你也能研读一下这本书,然后你会跟我一样从中学到很多知识的。...
Darryl Hogan
Architect Evangelist,Microsoft








点击看大图



加载中...

