Mam wriiten LINQ przyłączyć zapytanie i chciałbym przyjmować wartości, jeśli jeden z nich jest pusty ...LINQ przyłączyć iquery, jak używać defaultifempty
Kod:
var Details =
UnitOfWork.FlightDetails
.Query()
.Join
(
PassengersDetails,
x => x.Flightno,
y => y.FlightNo,
(x, y) => new
{
y.PassengerId,
y.classType,
x.Flightno,
x.FlightName,
}
);
I chciałby używać coś takiego ..
"Above query".DefaultIfEmpty
(
new
{
y.PassengerId,
y.classType,
string.Empty,
string.Empty
}
);
„FlightDetails” jest Idatarepository typ na klasy i „PassengerDetails” jest IQueryable lokalny wynik zmienna. W jaki sposób mogę uzyskać wyniki z identyfikatorem pasażera i klasą Clas, z których nie ma żadnych lotów i nazw lotów uwzględnionych w ogólnych wynikach.
Nie jestem pewien, czy 'DefaultIfEmpty()' będzie działał z metodami anonimowymi. Spróbuj zdefiniować klasę i ją wykorzystać. –
Poszukujesz składni "Left Outer Join", na którą odpowiedziano w innych pytaniach. Oto top dla składni Method/Lambda LINQ: http://stackoverflow.com/questions/584820/how-do-you-perform-a-left-outer-join-using-linq-extension-methods – Ocelot20