.SelectMany () и получение данных из более чем одной связанной таблицы

Этот запрос возвращает идентификатор, имя, идентификатор компании, название компании и город компании. Мне не хватает электронной почты сотрудника адрес (emailAddress хранится в таблице EmployeeEmailAddress) и номера телефонов сотрудников (phoneNumber хранится в таблице EmployeePhoneNumbers).

Мне нужно было добавить. SelectMany (), чтобы получить сведения о родительской компании и получить доступ к идентификатору компании, имени и городу. Однако теперь я не могу получить доступ к свойствам, не найденным в таблице PersonOrgMap. Я не могу перейти к другим таблицам. Удаление .SelectMany () позволяет мне переходить к другим таблицам, но я теряю доступ к информации о материнской компании.

var employees = Contacts.Where(c => c.ContactAttributes
.Any (ca => ca.AttributeID == 1153))
.SelectMany (x => x.ChildPersonOrgMaps)
.Select (c => new { employeeId = c.Child.ContactID,
          c.Child.FirstName,
          c.Child.LastName,
          companyId = c.ParentContactID,
          c.Parent.OrganizationName,
          c.Parent.City
        }
         )
.OrderBy (c =>c.LastName ).ThenBy(x => x.FirstName)
.Dump();
5
задан DenaliHardtail 31 January 2011 в 23:00
поделиться