第12篇数据查询新模型——语言集成查询LINQ(C#从入门到精通).pptVIP

第12篇数据查询新模型——语言集成查询LINQ(C#从入门到精通).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《ASP.NET 3.5网站开发从入门到精通》 第 12 章 数据查询新模型——语言集成查询LINQ LINQ的概念 复合查询 联接查询 查询结果排序 查询数据类型 查询的扩展方法 LINQ to DataSet LINQ其他功能 第 12 章 数据查询新模型——语言集成查询LINQ LINQ的概念 复合查询 联接查询 查询结果排序 查询数据类型 查询的扩展方法 LINQ to DataSet LINQ其他功能 12.1 LINQ简介 相信大家都接触过多种数据格式的数据源,如数据库、XML、数组、集合等。各种数据格式之间因为经常需要相互转换而常常引发问题,经常出现数据类型不匹配导致数据库操作失败。 查询不同数据源的标准不统一,学起来费时费力,LINQ改变了这一现状,LINQ能够让开发人员使用统一的方式进行数据源的操作。 12.1.1 LINQ简介 LINQ以统一的方式操作各种数据源,降低数据访问的复杂度。LINQ的体系结构如下图所示。 从LINQ的体系结构图可以看出, LINQ 主要包含以下三部分。 ⑴ LINQ to Objects ⑵ LINQ to XML ⑶ LINQ to ADO.NET LINQ到底什么样子,我们先看个例子,了解一下LINQ。 【范例12-1】 一个简单的检索数组例子,体验LINQ查询的用法。 ? 启动Visual Studio 2008,新建一个控制台应用程序,项目名称为“firstLINQ“。 ? 在Program.cs中的Main方法中添加如下代码(代码12-1.txt)。 01 static void Main(string[] args) //使用LINQ查询进行数组的检索 02 { //声明一个有6个元素的字符串数组names 03 string[] names={Everett, Albert, George, Harris, David }; 04 var items=from name in names //声明一个匿名变量items,使用LINQ在数组names中找出 where name.Length=6 //长度超过5的元素,将找到的字符串转为大写并排序, orderby name //将LINQ执行的结果赋给匿名变量items; select name.ToUpper(); //筛选出的name转换为大写字母 05 foreach(var item in items) 06 Console.WriteLine(item); //遍历items输出LINQ查询的结果 07 } LINQ可以对多种数据源和对象进行查询,如数据库、数据集、XML文档甚至是数组,这在传统的查询语句中是很难实现的。如果有一个集合类型的值需要进行查询,则必须使用where等方法进行遍历,可以象使用SQL语句的形式使用LINQ进行查询,极大的降低了难度。 12.1.2 LINQ基础 要学习LINQ,首先要了解与LINQ相关的一些概念,如泛型、委托、对象初始化器、匿名类型、Lambda表达式、查询表达式、扩展方法和表达式树等,正是C#3.0中的一些新的特性和改进使LINQ变得很强大。 1. 自动属性 在类Point中定义属性成员getX,getY如下: 01 public class Point { //定义类Point,用于描述平面上的点的坐标 02 private int _x, _y; //定义私有字段成员表示点的纵横坐标值 03 public int X { //定义属性成员对横坐标进行设置和获取 04 get { return _x; } 05 set { _x = value; } 06 } 07 public int Y { //定义属性成员对纵坐标进行设置和获取 08 get { return _y; } 09 set { _y = value; } 10 } 11 } 上面的代码简单的定义了一个拥有两个属性的类,使用Visual Studio 2008中的C#编译器,可以很容易改为自动属性。使用自动属性写的更简单,可读性更好并且简洁。改为自动属性表示如下: 01 public class Point { 02 public int X { get; set; } //自动属性X 03 public int Y { get; set; }

文档评论(0)

136****4793 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档