网站大量收购独家精品文档,联系QQ:2885784924
  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LINQ入门

王荣芳 wangrongfang2008@ ASP.NET LINQ (Language INtegrated Query) 学员的潜力,青软的动力 传统的查询 示例 Select * from Customers Where country=‘UK’ Order by city 特点 简单的字符串表示 没有编译时类型检查 没有IDE的智能感知(IntelliSense)支持 LINQ组件及架构 LINQ是语言集成查询(Language Integrated Query)的简称,是.NET Framework 3.5一项突破性的创新,它在对象领域和数据领域之间架起了一座桥梁,微软的ORM解决方案。 LINQ查询 所有 LINQ 查询操作都由以下三个的操作组成: 获取数据源。 创建查询。 执行查询。 // 1. 数据源. int[] numbers = new int[7] { 0, 1, 2, 3, 4, 5, 6 }; // 2. 创建查询. numQuery 类型为 IEnumerableint var numQuery = from num in numbers where (num % 2) == 0 select num; // 3. 执行查询. foreach (int num in numQuery) { Console.Write({0,1} , num); } LINQ查询操作 查询的执行与查询本身截然不同; 如果只是创建查询变量,则不会检索任何数据。 LINQ查询执行 延迟执行 查询变量本身只是存储查询命令。实际执行会延迟到在foreach 语句中循环访问查询变量时发生。此概念称为“延迟执行” foreach (int num in numQuery){。。。} 强制立即执行 执行聚合函数的查询如Count、Max、Average 和 First 等,这些类型的查询返回单个值,而不是 IEnumerable 集合 var evenNumQuery = from num in numbers where (num % 2) == 0 select num; int evenNumCount = evenNumQuery.Count(); 若要强制立即执行任意查询并缓存其结果,可以调用 ToList(TSource) 或 ToArray(TSource) 方法 Listint numQuery2 = (from num in numbers where (num % 2) == 0 select num).ToList(); 标准查询和方法查询 查询语法 string[] names = { Tom,Dick,Harry,Mary,Jay }; IEnumerablestring query = names .Where (n = n.Contains (a)) .OrderBy (n = n.Length) .Select (n = n.ToUpper( )); foreach (string name in query) Console.Write (name + |); Lambda语法: names.Where (n = n.Contains (a)) .OrderBy (n = n.Length) .Select (n = n.ToUpper( )) 组合使用 int count = (from name in names where n.Contains (a) select name ).Count( ); LINQ to Objects 实现了IEnumberable接口或者IEnumberableT泛型接口的集合,如ListT Array DictionaryT 与foreach循环查询相比:简单易读,提供强大的分组、排序、筛选功能 C#3.0新特性- LINQ查询 LINQ查询表达式字句: from 指定数据源 where 过滤查询结果 select 指定查询结果的项 gourp 聚合 into 存储聚合中结果 orderby 升学或者降序ascending descending join 对两个数据源连接 let 创建一临时变量,表示查询结果 以from字句开始,以select字句或者group字句结尾 C#3.0新特性- LINQ查询 标准LINQ查询被C#编译器翻译成方法查询(Enumerable类的扩展方法,可以用在任何实现了IEnumerableT接口的类中),实用方法: Average() 返回序列中每项的平均值 Count() 总项数 Max() 最大值 Min()最小值 Se

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档