zoukankan      html  css  js  c++  java
  • Linq查询语法(1)

    转:http://www.cnblogs.com/ahao214/archive/2013/01/22/2871044.html

    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;

  • 相关阅读:
    Android NDK学习(1) 简介
    wmsys.wm_concat结果长度限制的问题
    onInterceptTouchEvent和onTouchEvent调用时序
    滑动到底部或顶部响应的ScrollView实现
    Android ViewPager使用详解
    android include标签的使用,在RelativeLayout中使用include标签需注意!!!!!
    Eclipse中如何在指定工程中搜索指定的字符串
    android:windowSoftInputMode属性详解
    cocos2d-x中关于touch事件的响应
    《从零开始学Swift》学习笔记(Day 6)——哎呀常量和变量都该什么时候用啊?
  • 原文地址:https://www.cnblogs.com/herizai/p/7026443.html
Copyright © 2011-2022 走看看