Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 查询-完全外部连接数据集中的两个不同表-LINQ C_C#_Sql_Asp.net_Linq_Datatables - Fatal编程技术网

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

C# 查询-完全外部连接数据集中的两个不同表-LINQ C,c#,sql,asp.net,linq,datatables,C#,Sql,Asp.net,Linq,Datatables,我想从两个不同的表进行连接,它们之间没有连接: 停车场停车场ID,地址停车场,状态停车场 publicParkingID、地址PublicParking、状态Parking 我想写一个查询,返回所有可用的停车位- 根据他们的状态停车场和公共停车场 我已经读到,我需要进行完整的外部连接,生成一个大表,然后才能编写查询 我需要用LINQ编写查询 我真的需要你的帮助,关于这个查询和完整的外部连接,如果它是正确的 using System; using System.Linq; using System

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

停车场停车场ID,地址停车场,状态停车场

publicParkingID、地址PublicParking、状态Parking

我想写一个查询,返回所有可用的停车位- 根据他们的状态停车场和公共停车场

我已经读到,我需要进行完整的外部连接,生成一个大表,然后才能编写查询

我需要用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

更新

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

可以使用Union连接两个表,而无需公共字段。您的场景的LINQ查询将如下所示

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

希望这能奏效

您能发布示例代码吗?您的意思是什么?您已经尝试过的示例代码。例如,您正在引用的两个查询联接。来自停车场中的停车场来自PublicParkings中的发布,其中lot.StatusParkingLot==false&&pub.StatusParking==false选择停车场,pub请将您的代码添加到您的问题中。评论与你的问题无关,它是根据你在帖子中添加的内容来讨论你的问题。我非常感激!!但还是有问题。我在代码编辑器和LINQPad中进行了尝试。错误的图像是在你的两个表中运算符的原始数目相等还是不相等?我需要输入更多的运算符吗?使用制度;使用System.Linq;使用System.Collections.Generic;这是完整的操作符:public类publicParking{public int publicparkingingid{get;set;}公共字符串地址publicParking{get;set;}公共双纬度{get;set;}公共双长度{get;set;}公共bool status parking{get;set;}public int PricePerHourpublicParking{get;set;}public double PricePerMinutepublicParking{get;set;}公共bool isOrdered{get;set;}公共类停车场{public int parkingLotID{get;set;}公共字符串地址停车场{get;set;}公共双相对停车场{get;set;}公共双长停车场{get;set;}公共整数最大空间{get;set;}公共整数占用空间{get;set;}公共整数自由空间{get;set;}公共整数价格每小时{get;set;}公共双长停车场{get get;set;}公共布尔状态停车场{get get;set;}