Этот запрос возвращает идентификатор, имя, идентификатор компании, название компании и город компании. Мне не хватает электронной почты сотрудника адрес (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();