说明:查询表达式必须以 from 子句开头。 另外,查询表达式还可以包含子查询,子查询也是以 from 子句开头。SQL命令中from指的是数据表,LINQ中from 子句中引用的数据源的类型必须为 IEnumerable、IEnumerable<T> 或一种派生类型(如 IQueryable<T>)。

1.复合from子句

说明:如果一个数据源里面又包含了一个或多个集合列表,那么应该使用复合的from子句来进行查询。

查询分数小于60分学生的姓名和分数:

        class Student{public string Name { get; set; }public List<int> Scores { get; set; }}static void Main(string[] args){List<Student> students = new List<Student>{new Student {Name="Terry", Scores=new List<int> {97, 72, 81, 60}},new Student {Name="AI", Scores=new List<int> {75, 84, 91, 39}},new Student {Name="Wade", Scores=new List<int> {88, 94, 65, 85}},new Student {Name="Tracy", Scores=new List<int>{97, 89, 85, 82}},new Student {Name="Kobe", Scores=new List<int> {35, 72, 91, 70}} };var query = from student in studentsfrom score in student.Scoreswhere score < 60select new { name = student.Name, score };foreach (var student in query){Console.WriteLine("{0},{1}", student.name, student.score);//AI,39//Kobe,35
            }Console.ReadKey();}

2.使用多个 from 子句执行联接

说明:复合 from 子句用于访问单个数据源中的内部集合。 不过,查询还可以包含多个可从独立数据源生成补充查询的 from 子句。

交叉联接:

            char[] char1 = { 'A', 'B', 'C' };char[] char2 = { 'a', 'b', 'c' };var query =from c1 in char1from c2 in char2select new { c1, c2 };Console.WriteLine("交叉联接:");foreach (var result in query){Console.WriteLine("{0}", result);//交叉联接://{ c1 = A, c2 = a }//{ c1 = A, c2 = b }//{ c1 = A, c2 = c }//{ c1 = B, c2 = a }//{ c1 = B, c2 = b }//{ c1 = B, c2 = c }//{ c1 = C, c2 = a }//{ c1 = C, c2 = b }//{ c1 = C, c2 = c }}

作者: ForEvErNoME
出处: http://www.cnblogs.com/ForEvErNoME/
欢迎转载或分享,但请务必声明文章出处。如果文章对您有帮助,希望你能 推荐 或 关注

转载于:https://www.cnblogs.com/ForEvErNoME/archive/2012/07/24/2605712.html

LINQ学习(四):From子句相关推荐

  1. Linq 学习笔记(二)

    Linq 学习笔记(二) 下面就来介绍一些查询的示例: 1.Linq查询 var racers = from r in Formula1.GetChampions() where r.Wins > ...

  2. 一起谈.NET技术,Linq学习笔记

    写在前面 其实在09年就已经学习过Linq了,并被她那优美的语法所吸引,只是现在所在的公司还在使用VS2005在.Net2.0的框架下面的开发,所以Linq也很久没有用过了,最近看部门的同事对这个有些 ...

  3. C#多线程学习(四) 多线程的自动管理(线程池) (转载系列)——继续搜索引擎研究...

    在多线程的程序中,经常会出现两种情况: 一种情况:   应用程序中,线程把大部分的时间花费在等待状态,等待某个事件发生,然后才能给予响应                   这一般使用ThreadPo ...

  4. oracle数据库的model,Oracle 11g学习笔记–model子句

    Oracle 11g学习笔记–model子句 oracle 10g中新增的model子句可以用来进行行间计算.model子句允许像访问数组中元素那样访问记录中的某个列,这就提供了诸如电子表格计算之类的 ...

  5. python学习四(处理数据)

    python学习四(处理数据) head first python中的一个数据处理的例子 有四个U10选手的600米成绩,请取出每个选手跑的最快的3个时间.以下是四位选手的9次成绩 James 2-3 ...

  6. PyTorch框架学习四——计算图与动态图机制

    PyTorch框架学习四--计算图与动态图机制 一.计算图 二.动态图与静态图 三.torch.autograd 1.torch.autograd.backward() 2.torch.autogra ...

  7. Docker学习四:Docker 网络

    前言 本次学习来自于datawhale组队学习: 教程地址为: https://github.com/datawhalechina/team-learning-program/tree/master/ ...

  8. (转)SpringMVC学习(四)——Spring、MyBatis和SpringMVC的整合

    http://blog.csdn.net/yerenyuan_pku/article/details/72231763 之前我整合了Spring和MyBatis这两个框架,不会的可以看我的文章MyBa ...

  9. 零基础带你学习MySQL—多子句查询(十九)

    零基础带你学习MySQL-多子句查询(十九)

  10. 算法学习四:算法性能分析理论基础——函数增长与渐进分析

    算法学习四:算法性能分析理论基础--函数增长与渐进分析 在算法性能分析过程中,特别是在算法运行效率分析中,我们经常使用渐渐分析法,它使我们在分析算法性能时不必纠结于不同硬件平台的差异性,着重考虑算法的 ...

最新文章

  1. 梯度下降回归SGDRegressor、岭回归(Ridge)和套索(Lasso)回归、套索最小角回归、ElasticNet回归、正交匹配追踪回归
  2. PCL安装与环境变量配置(Win10)
  3. GitPush时提示:fatal: The remote end hung up unexpectedly
  4. 稠密峰值聚类 - Science2014
  5. Beanstalkd工作队列
  6. 第三章 使用Servlet处理HTTP响应
  7. 集群节点间的延迟问题
  8. jQuery.extend()方法
  9. LeetCode 668. 乘法表中第k小的数(二分查找)
  10. mongodb查询分页优化
  11. SpringBoot 注解 @Configuration @PropertySource @Value
  12. yaahp层次分析法步骤_什么是层次分析法?(文末附yaahp软件)
  13. 显示器 设置选项 解析
  14. 手机怎么用外嵌字幕_【本地视频】手动去除字幕、水印的实用方法
  15. 我讲了一个故事,珍爱红娘来电话靠谱吗?这个男生太渣了!
  16. jstack详细介绍
  17. 话费充值api接口,对接流程
  18. 图(Graph),也称网络(Network)
  19. 360、搜狗、必应搜索引擎排名规则与SEO优化怎么做?
  20. 智力题_环回到原点问题

热门文章

  1. 同样的电器,为什么官网能比实体店的价格便宜那么多?
  2. 空间谱专题13:联合解算DOA(ML/AP)
  3. 一部后现代文学的“奇书”:《烟草经纪人》
  4. Atmosphere 1.0:支持Java/JavaScript的异步通信框架
  5. “乞讨者”王小波与“怪物”巴尔扎克
  6. gson json转map_Java几种常用JSON库性能比较
  7. navicat premium 链接postgresql 无法加载表_PostgreSQL 每周新闻 2020311
  8. python 爬虫库 beautifulsoup4_Python爬虫之BeautifulSoup4
  9. python spangt_python怎么爬去spanlt;/span中间标签的内容
  10. navicat 只对比一张表的数据_Excel VBA批量新建工作表(对比数据透视表的使用)...