Linq rejoindre iquery, comment utiliser defaultifempty

J'ai écrit un linq requête de jointure et je voudrais prendre les valeurs, si l'un d'entre eux sont vides...

Code:

var Details = 

UnitOfWork.FlightDetails
          .Query()
          .Join
          (
              PassengersDetails,
              x => x.Flightno,
              y => y.FlightNo,
              (x, y) => new
              {
                  y.PassengerId,
                  y.classType,
                  x.Flightno,
                  x.FlightName,
              }
          );

Je voudrais utiliser quelque chose comme..

"Above query".DefaultIfEmpty
(
    new 
    {
        y.PassengerId,
        y.classType,
        string.Empty,
        string.Empty
    }
);

FlightDetails est Idatarepository type sur une classe et PassengerDetails est IQueryable local de la variable de résultat. Comment puis-je obtenir de résultat avec PassengerId et Classtype sans flightno et flightname inclus dans les résultats d'ensemble?

  • Je ne suis pas sûr si DefaultIfEmpty() travaillera avec les méthodes anonymes. Essayez de définir une classe et en les utilisant.
  • Vous êtes à la recherche pour la syntaxe d'une "Jointure Externe Gauche" qui a été répondu à d'autres questions. Voici le top un pour la Méthode/Lambda syntaxe LINQ: stackoverflow.com/questions/584820/...
InformationsquelleAutor user1032957 | 2013-10-10