Я пытаюсь изменить следующий запрос для возврата данных из нескольких таблиц.
У меня есть главная таблица контактов, где хранятся все контактные данные. Компании также хранятся в таблице контактов. Компании сопоставляются с контактами в объединенной таблице с именем CompanyPersonMap.
У меня также есть таблица атрибутов, в которой контактам назначены определенные атрибуты, возможно, много для каждого контакта.
Теперь я хочу вернуть все контакты, которым назначен определенный атрибут, а также имя и адрес компании лица, найденные в другой строке таблицы контактов.
Этот код работает, но возвращает только contactId. Хорошо за то, что мне было нужно, но я не могу понять, как изменить его для вышеуказанного требования.
var peopleAndAddresses = Contacts.Where(c => c.AssignedAttributes
.Any (aa => aa.AttributeID == 1153))
.Select(x => x.ContactID);
Какие-либо предложения для этого?
Спасибо!
Edit-
Я попытался поработать с оператором .Select () и нашел путь от контакта к его организации через таблицу PersonOrgMap. К сожалению, я не могу получить какие-либо данные об организации. Я пытался .Any (), .All () и .FirstOrDefault (). Есть предложения?
. Выбрать (c => new {c.FirstName, c.LastName, c.PersonOrgMap.FirstOrDefault (pom => pom.ChildContactID)})