• LINQ中的一些查询语句格式



    LINQ的基本格式如下所示:
    var <变量> = from <项目> in <数据源> where <表达式> orderby <表达式>

    LINQ 基本子句
    from查询子句——基础
    后面跟随着项目名称和数据源
    示例代码如下:
    var str = from lq in str select lq;
    其中select语句指定了返回到集合变量中的元素是来自哪个数据源的

    from查询子句——嵌套查询
    可以在from子句中嵌套另一个from子句即可,示例代码如下所示。
    var str = from lq in str from m in str2 select lq;

    where条件子句
    where子句指定了筛选的条件,这也就是说在where子句中的代码段必须返回布尔值才能够进行数据源的筛选
    示例代码如下:
    var str = from m in MyList where m.Length > 5 select m;

    where子句查询
    当需要多个where子句进行复合条件查询时,可以使用“&&”进行where子句的整合
    示例代码如下:
    var str = from m in myList where (m.Length > 6 && m.Contains("liu")) select m;


    group分组子句
    语句格式:var str = from p in PersonList group p by p.age
    group子句将数据源中的数据进行分组,在遍历数据元素时,并不像前面的章节那样直接对元素进行遍历,因为group子句返回的是元素类型为IGrouping<TKey,TElement>的对象序列,必须在循环中嵌套一个对象的循环才能够查询相应的数据元素。
    在使用group子句时,LINQ查询子句的末尾并没有select子句,因为group子句会返回一个对象序列,通过循环遍历才能够在对象序列中寻找到相应的对象的元素,如果使用group子句进行分组操作,可以不使用select子句。

    orderby排序子句
    语句格式:var str = from p in PersonList orderby p.age select p;
    orderby子句中使用descending关键字进行倒序排列
    示例代码如下:
    var str = from p in PersonList orderby p.age descending select p;
    orderby子句同样能够进行多个条件排序,只需要将这些条件用“,”号分割即可
    示例代码如下:
    var str = from p in PersonList orderby p.age descending,p.name select p;

    join连接子句
    在LINQ中同样也可以使用join子句对有关系的数据源或数据对象进行查询,但首先这两个数据源必须要有一定的联系
    var str = from p in PersonList join car in CarList on p.cid equals car.cid select p;

  • 相关阅读:
    053587
    053586
    053585
    053584
    053583
    053582
    053581
    053580
    053579
    053578
  • 原文地址:https://www.cnblogs.com/ahao214/p/2871044.html
Copyright © 2020-2023  润新知