LINQ Intérieure-Rejoignez-Gauche-Rejoindre

À l'aide de l'extension de la syntaxe, je suis en train de créer une gauche de la jointure à l'aide de LINQ sur deux listes que j'ai. Ce qui suit est l'aide de Microsoft mais je l'ai modifié de façon à n'afficher que la liste des animaux de compagnie n'a pas d'éléments. Ce que je suis de se retrouver avec une liste de 0 éléments. Je suppose que c'est parce que l'intérieur de la jointure est de prendre place. Ce que j'ai envie de finir avec une liste de 3 éléments (les 3 objets de la Personne) avec des données nulles remplis pour les éléments manquants. c'est à dire de Gauche de la Rejoindre. Est-ce possible?

Person magnus = new Person { Name = "Hedlund, Magnus" };
Person terry = new Person { Name = "Adams, Terry" };
Person charlotte = new Person { Name = "Weiss, Charlotte" };

//Pet barley = new Pet { Name = "Barley", Owner = terry };
//Pet boots = new Pet { Name = "Boots", Owner = terry };
//Pet whiskers = new Pet { Name = "Whiskers", Owner = charlotte };
//Pet daisy = new Pet { Name = "Daisy", Owner = magnus };

List<Person> people = new List<Person> { magnus, terry, charlotte };
//List<Pet> pets = new List<Pet> { barley, boots, whiskers, daisy };
List<Pet> pets = new List<Pet>();

//Create a list of Person-Pet pairs where 
//each element is an anonymous type that contains a
//Pet's name and the name of the Person that owns the Pet.
var query =
    people.Join(pets,
                person => person,
                pet => pet.Owner,
                (person, pet) =>
                    new { OwnerName = person.Name, Pet = pet.Name }).ToList();
InformationsquelleAutor Guy | 2009-02-08