ContactDetail[] ContactDetails = new ContactDetail[0]; // your contact detail entries
Address[] Addresses = new Address[0]; // your address entries
User[] Users = new User[0]; // your user entries
Users.Join(ContactDetails, user => user.ID, cd => cd.ID, (user, cd) => new { User = user, ContactDetail = cd }).Join(Addresses, UserAndCD => UserAndCD.ContactDetail.ID, address=>address.ContactDetailID, (UserAndCD, address)=> new {User = UserAndCD.User, ContactDetail = UserAndCD.ContactDetail, Address = address});
Dans ce cas, vous obtiendrez des entrées d'adresse de contact-contact. Si vous voulez obtenir un utilisateur avec l'énumération contactdetail et un énumération d'adresses pour chaque contactdetail, alors vous devez utiliser GroupJoin: