zoukankan      html  css  js  c++  java
  • LinQ Coding (6)(Join之分组联接)

    Join 子句有三种最常见的联接类型:内部联接,分组联接,左外部联接
    本次介绍:分组联接

           分组联接:见名知意,它本质上是一个对象数组序列。说白了就是结果序列会组织为多个组形式数据进行返回。
    即可术语描述的话,就是会产生一个分层的结果序列,此序列拿第一个集合中的每个元素与第二个集合中的一组相关元素进行配对,如果找不到就返回空数组。那基本上分组联接和内部联接基本差不多。 另外就是在分组联接中没有等效的关系。
    * 分组联接非常适合于使用 LINQ to XML 来创建 XML。

     public class JoinUsingLinqPartSecInto : Interface
        
    {
            
    Interface Members
        }

    *以下这三种查询基本上都是等效查询(这也是使用分组联接实现内部联接的一例)
    querythree
    使用不带 into 子句的 join 子句执行内部联接所获得的结果集。

     1 var queryone = from person in people
     2                        join pet in pets
     3                            on person
     4                            equals pet.Owner
     5                            into nonameList
     6                        select new { OwnerName = person.FirstName, Pets = nonameList };
     7
     8            var querytwo = from person in people
     9                        join pet in pets
    10                            on person
    11                                equals pet.Owner
    12                                    into nonnamelist
    13                        from subpet in nonnamelist
    14                        select new { OwnerName = person.FirstName, PetName = subpet.Name };
    15
    16            var querythree = from person in people
    17                         join pet in pets on person equals pet.Owner
    18                         select new { OwnerName = person.FirstName, PetName = pet.Name };
  • 相关阅读:
    Sublime Text3 无法调出package controll问题
    Python标准库-enumerate用法
    设计模式学习-简单工厂模式(python3)
    【IO流】java中文件路径(相对路径、绝对路径)相关类及方法
    nginx安装教程(详细)
    nginx -stream(tcp连接)反向代理配置 实现代理mysql以及文件上传
    【单例模式】懒汉式的线程安全问题 volatile的作用
    jsonp协议 java服务端、JQuery客户端 简单实现原理
    MyBatis原理,Spring、SpringBoot整合MyBatis
    【JavaSE】运行时类型信息(RTTI、反射)
  • 原文地址:https://www.cnblogs.com/qfb620/p/1116121.html
Copyright © 2011-2022 走看看