查询 - 数据集中的全外连接2个不同的表 - LINQ C#

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查询 - 数据集中的全外连接2个不同的表 - LINQ C#相关的知识,希望对你有一定的参考价值。

我想从两个不同的表进行连接(它们之间没有连接):

停车场(parkingLotID,地址停车场,状态ParkingLot)

公共停车场(公共停车场,地址公共停车场,状态停车场)。

我想写一个查询,根据他们的状态(Parking lot&PublicParking)返回所有可用的停车位。

我已经读过我需要做全外连接(制作一个大表),然后才能编写查询。

我需要在LINQ中编写查询。

我真的需要你对这个查询以及完整外部联接的帮助(如果它是正确的)

using System;
using System.Linq;
using System.Collections.Generic;

public class Program
{
    public static void Main()
    {

        IList<parkingLot> parkingLot=new List <parkingLot>(){

        new parkingLot {parkingLotID=1, addressParkingLot="bograshov 22",statusParkingLot=true},
        new parkingLot {parkingLotID=2, addressParkingLot="bograshov 10",statusParkingLot=false},
        new parkingLot {parkingLotID=3, addressParkingLot="bograshov 28",statusParkingLot=true},
    };



    IList<publicParking> PublicParking=new List <publicParking>(){

        new publicParking {publicParkingID=101, addressPublicParking= "bograshov 23",statusParking=true},
        new publicParking {publicParkingID=102, addressPublicParking= "bograshov 21",statusParking=true},
        new publicParking {publicParkingID=103, addressPublicParking= "bograshov 18",statusParking=false},
    };


  (from lot in parkingLot
    where lot.statusParkingLot == true
    select lot).Union(from pub in PublicParking
    where pub.statusParking==true
    select pub);


   }
}

public class publicParking 
{
 public int publicParkingID { get; set; }
 public string addressPublicParking { get; set; }
    public bool statusParking { get; set; }

}


public class parkingLot 
{
  public int parkingLotID { get; set; }
  public string addressParkingLot { get; set; }
  public bool statusParkingLot { get; set; }

 }

TNX!

UPDATE

我写了查询,但它有一个问题:

New problem

答案

您可以使用Union连接两个表而不使用公共字段。您的方案的LINQ查询将如下所示。

 (from lot in ParkingLots
 where lot.StatusParkingLot == true
 select lot).Union( from pub in PublicParkings
 where pub.StatusParking==true
 select pub);

希望这个有效!

以上是关于查询 - 数据集中的全外连接2个不同的表 - LINQ C#的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Spark Scala 高效的全外连接中合并连接多个 DataFrame

外连接查询

sql左右连接的区别

在 bigquery 中查询多个数据集中的表时遇到问题

Oracle左连接右连接全外连接以及(+)号用法

Oracle左连接右连接全外连接以及(+)号用法