zoukankan      html  css  js  c++  java
  • .net系统自学笔记——Linq

    LINQ

    本章内容:用List<T>在对象上执行传统查询,扩展方法,LINQ查询操作符,平行LINQ,表达式树等 。

    语言集查询(Language Integrated Query: Linq)集成了C#编程语言中的查询语法,可以用相同的语法访问不同的数据源,LINQ提供了不同数据源的抽象层,所以可以使用相同的语法。

    一、概述

    C#提供了转换为方法调用的集成查询语言。

    LINQ查询的语法:查询表达式必须以From子 句开头,以Select或 group子 句绮束。 在这两个子句之间,可 以 使用where、 orderby、join、let和 其他from子 句。子 句 from、 where、 orderby、descending 和 select都是这个查询中 预定义的关键字。

     

    扩展方法

     

    定义 LINQ扩 展方法的一个类是 system.Linq名 称空间中的 Enunerable 。只需导入这个名称空间,就 打开了这个类的扩展方法的作用域。

    这里的扩展方法如Where<T>(),在System.Core程序集的System.Linq名称空间中定义。

     

    Enumerable 类 中的扩展方法 Where()、 OrderbyDescending()和select()。 这些方法都返回 IEnumerable<TSource>。在 运行期间定义查询表达式时,查询就不会运行。查询会在迭代数据项时运行.。但在调用扩展方法 ToArray(),ToEnumerable(),ToList()等 可以 改变这个操作。

     

    二、标准的查询操作符

     

     

     

     

    示例:

    筛选,索引筛选,类型筛选,排序,分组,复合From语句,对嵌套的对象分组,连接 ,集合操作(Distinct(),Union(),Intersect(),Except()等),合并(Zip()),分区(Take(),Skip();使用TackWhile()和SkipWhile()扩展方法,还可以 传递一个谓词,根据谓词的 结果提取或跳过某些项。),聚合操作符(Count(),Sum(),Min(),Max(),Average(),Aggregate()),转换(ToList()等方法,生成操作符(Range()、 Empty()和 Repeat()不是扩展方法,而是返回序列的正常静态方法。 在 LINQ To Objects中 ,这些方法可用于 Enumerable类。)

     

    三、并行Linq

    .net4在System.Linq名称空间中包含一个新类ParallelEnumerable,可以查询的工作使其分布在多个纯种上。尽管Enumerable类给IEnumerable<T>接口定义了扩展方法,但ParallelEnumerable类的大多数扩展方法是ParallelQuery<TSource>类的扩展。一个重要的例外是AsParallel()方法,它扩展了IEnumerable<TSource>接口,返回ParallelQuery<TSource>类,所以正常的集合类可以以平行方式查询。

    1.并行查询

    2.分区器

    3.取消

     

    四、表达式树??

     

    五、Linq提供程序

    Linq to XML

    Linq to Objects

    Linq to SQL

     

     

    这部分应该是一个大的技术分支,之前的有些用过了,还算能看明白,可是后来的都没怎么听过,就看不明白了。以后慢慢研究吧~~先这里做个简单的理解~~

  • 相关阅读:
    Oracle的hash分区
    Oracle的list分区
    range联合分区
    Oracle分区表range单分区
    彻底解决Oracle unable to create INITIAL extent for segment in tablespace xx
    Oracle表空间管理,数据迁移,
    plsqldevelop安装教程
    count(*)与count列谁快谁慢
    阿里云服务器Centos6.9安装oracle11g单实例数据库
    字符转换二进制码
  • 原文地址:https://www.cnblogs.com/gdx4430090/p/3171827.html
Copyright © 2011-2022 走看看