zoukankan      html  css  js  c++  java
  • LINQ系列:LINQ to SQL Concat/Union

    1. Concat

      单列Concat

    var expr = (from p in context.Products
                select p.ProductName)
                .Concat(
                from c in context.Categories
                select c.CategoryName
                );
    foreach (var item in expr)
    {
        Console.WriteLine(item);
    }
    var expr = context.Products
        .Select(p => p.ProductName)
        .Concat(
        context.Categories
        .Select(c => c.CategoryName)
        );
    SELECT 
        [UnionAll1].[ProductName] AS [C1]
        FROM  (SELECT 
            [Extent1].[ProductName] AS [ProductName]
            FROM [dbo].[Product] AS [Extent1]
        UNION ALL
            SELECT 
            [Extent2].[CategoryName] AS [CategoryName]
            FROM [dbo].[Category] AS [Extent2]) AS [UnionAll1]

      多列Concat

    var expr = context.Products
        .Select(p => new 
        {
            p.ProductID, 
            p.ProductName 
        })
        .Concat(
        context.Categories
        .Select(c => new 
        { 
            ProductID = c.CategoryID, 
            ProductName = c.CategoryName 
        })
        );
    SELECT 
        [UnionAll1].[ProductID] AS [C1], 
        [UnionAll1].[ProductID1] AS [C2], 
        [UnionAll1].[ProductName] AS [C3]
        FROM  (SELECT 
            [Extent1].[ProductID] AS [ProductID], 
            [Extent1].[ProductID] AS [ProductID1], 
            [Extent1].[ProductName] AS [ProductName]
            FROM [dbo].[Product] AS [Extent1]
        UNION ALL
            SELECT 
            [Extent2].[CategoryID] AS [CategoryID], 
            [Extent2].[CategoryID] AS [CategoryID1], 
            [Extent2].[CategoryName] AS [CategoryName]
            FROM [dbo].[Category] AS [Extent2]) AS [UnionAll1]

    2. Union

    var expr = context.Products
        .Select(p => p.ProductName)
        .Union(
        context.Categories
        .Select(c => c.CategoryName)
        );
    SELECT 
        [Distinct1].[C1] AS [C1]
        FROM ( SELECT DISTINCT 
            [UnionAll1].[ProductName] AS [C1]
            FROM  (SELECT 
                [Extent1].[ProductName] AS [ProductName]
                FROM [dbo].[Product] AS [Extent1]
            UNION ALL
                SELECT 
                [Extent2].[CategoryName] AS [CategoryName]
                FROM [dbo].[Category] AS [Extent2]) AS [UnionAll1]
        )  AS [Distinct1]
  • 相关阅读:
    Ubuntu下hadoop2.4搭建集群(单机模式)
    软考历程(2)——海明码校验
    key 串口
    android删除文件出错
    ORACLE 11G没有备份文件參数文件在异机通过rman备份恢复找回被误删的数据
    【SICP归纳】2 高阶函数和数据抽象
    Java加密算法 AES
    从BAE到SAE,从SAE又回到BAE
    velocity-字母序号 list
    Java 加密解密 对称加密算法 非对称加密算法 MD5 BASE64 AES RSA
  • 原文地址:https://www.cnblogs.com/libingql/p/4050761.html
Copyright © 2011-2022 走看看