• LINQ to SQL语句(9)之Concat/Union/Intersect/Except


    LINQ to SQL语句(9)之Concat/Union/Intersect/Except

    Concat/Union/Intersect/Except操作

    适用场景:对两个集合的处理,例 如追加、合并、取相同项、相交项等等。

    Concat(连接)

    说明:连接 不同的集合,不会自动过滤相同项;延迟。

    1.简单形式:

    var q = (

         from c in db.Customers

         select c.Phone

        ).Concat(

         from c in db.Customers

         select c.Fax

        ).Concat(

         from e in db.Employees

         select e.HomePhone

         );

    语句描述:返回所有消费者和雇员的电话和传真。

    2.复 合形式:

    var q = (

         from c in db.Customers

          select new

         {

           Name = c.CompanyName,

           c.Phone

         }

         ).Concat(

         from e in db.Employees

         select new

         {

           Name = e.FirstName + " " + e.LastName,

           Phone = e.HomePhone

          }

        );

    语句描述:返回所有消费者和雇员的姓名和电 话。

    Union(合并)

    说明:连接不同的集合,自动过滤相同项;延迟 。即是将两个集合进行合并操作,过滤相同的项。

    var q = (

         from c in db.Customers

         select c.Country

        ).Union(

         from e in db.Employees

         select e.Country

        );

    语句描述:查询顾客和职员所在 的国家。

    Intersect(相交)

    说明:取相交项;延迟。即是获取不同 集合的相同项(交集)。即先遍历第一个集合,找出所有唯一的元素,然后遍历 第二个集合,并将每个元素与前面找出的元素作对比,返回所有在两个集合内都 出现的元素。

    var q = (

         from c in db.Customers

         select c.Country

        ).Intersect (

         from e in db.Employees

         select e.Country

        );

    语句描述:查询顾客和职员同在的国家 。

    Except(与非)

    说明:排除相交项;延迟。即是从某集合中删除与 另一个集合中相同的项。先遍历第一个集合,找出所有唯一的元素,然后再遍历 第二个集合,返回第二个集合中所有未出现在前面所得元素集合中的元素。

    var q = (

         from c in db.Customers

          select c.Country

        ).Except(

         from e in db.Employees

         select e.Country

        );

    语句描述:查询顾客和职员不同的国家。

  • 相关阅读:
    SNF快速开发平台MVC-名片管理(实际名片样式)
    SNF快速开发平台MVC-表格单元格合并组件
    SNF快速开发平台MVC-单据状态水印
    SNF快速开发平台MVC-瀑布式分页组件
    SNF快速开发平台MVC-高级查询组件
    SNF快速开发平台MVC-自由排序组件
    SNF快速开发平台MVC-各种级联绑定方式,演示样例程序(包含表单和表格控件)
    SNF快速开发平台MVC-集成了百度开源项目echars
    SNF开发平台WinForm-平板拍照及扫描二维码功能
    SNF快速开发平台--规则引擎整体介绍及使用说明书
  • 原文地址:https://www.cnblogs.com/liubo/p/2381564.html
Copyright © 2020-2023  润新知