LINQ Inner-Join vs Left-Join

Uso della syntax dell’estensione Sto provando a creare un join sinistro usando LINQ su due liste che ho. Di seguito è riportato l’aiuto di Microsoft, ma l’ho modificato per mostrare che l’elenco degli animali domestici non ha elementi. Quello che sto finendo è una lista di 0 elementi. Presumo che questo sia dovuto al fatto che si sta verificando un inner-join. Quello che voglio finire è una lista di 3 elementi (gli oggetti 3 Person) con dati null compilati per gli elementi mancanti. cioè un Left-Join. È ansible?

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 people = new List { magnus, terry, charlotte }; //List pets = new List { barley, boots, whiskers, daisy }; List pets = new List(); // 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();