我认为如果您要使用扩展方法,则需要使用GroupJoin
var query = people.GroupJoin(pets, person => person, pet => pet.Owner, (person, petCollection) => new { OwnerName = person.Name, Pet = PetCollection.Select( p => p.Name ) .DefaultIfEmpty() } ).ToList();您可能需要使用选择表达式。如果您有一对多的关系,我不确定它是否会满足您的需求。
我认为使用LINQ Query语法要容易一些
var query = (from person in context.People join pet in context.Pets on person equals pet.Owner into tempPets from pets in tempPets.DefaultIfEmpty() select new { OwnerName = person.Name, Pet = pets.Name }) .ToList();


