LINQ, Участвующий в C# с несколькими условиями

У меня есть оператор LINQ Joining в C# с несколькими условиями.

var possibleSegments = 
    from epl in eventPotentialLegs
    join sd in segmentDurations on 
        new { 
            epl.ITARequestID, 
            epl.ITASliceNumber, 
            epl.DepartAirportAfter, 
            epl.AirportId_Origin, 
            epl.AirportId_Destination 
        } 
        equals 
        new { 
            sd.ITARequestId, 
            sd.SliceIndex, 
            sd.OriginAirport, 
            sd.DestinationAirport 
        }
    where
        epl.DepartAirportAfter > sd.UTCDepartureTime 
        and 
        epl.ArriveAirportBy > sd.UTCArrivalTime
    select new PossibleSegments{ ArrivalTime = sd.arrivalTime };

Присоединение не работает правильно. Что я делаю неправильно?

54
задан Eric Leschinski 13 April 2015 в 15:27
поделиться

1 ответ

Ваши and должны быть && в where.

where epl.DepartAirportAfter >  sd.UTCDepartureTime 
and epl.ArriveAirportBy > sd.UTCArrivalTime

должно быть

where epl.DepartAirportAfter >  sd.UTCDepartureTime 
&& epl.ArriveAirportBy > sd.UTCArrivalTime
5
ответ дан 7 November 2019 в 07:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: