2016-11-24 2 views
0

У меня есть следующий запрос, чтобы получить учетную запись связанного объекта = первичный контакт. Выполняя этот запрос, я успешно получаю учетные записи, но связанная коллекция объектов пуста.Коллекция CRM: Связанные объекты пуста

var _service = _getService(); 
    var q = new QueryExpression("account"); 
    q.ColumnSet = new ColumnSet("name"); 

    q.LinkEntities.Add(new LinkEntity("account", "contact", 
"primarycontactid", "contactid", JoinOperator.Inner)); 
    q.LinkEntities[0].Columns.AllColumns = true; 
    q.LinkEntities[0].EntityAlias = "temp"; 

    EntityCollection ec = _service.RetrieveMultiple(q); 

Что я делаю неправильно?

Update 1: для проверки смежных областях лица я использую

for (int i = 0; i < ec.Entities.Count; i++) 
{ 
    Console.Write(ec.Entities[i].RelatedEntities.Count + " "); 
} 

ответ

1

Просто чтобы быть ясно, когда вы присоединитесь объекты таким образом всю информацию, связанную лица (контакт в вашем случае) будут возвращены вместе с поля первичной организации (учетная запись в вашем случае).

Чтобы получить поле из соответствующего объекта вы должны проверить ту же сущность, как (string)ec.Entities[0].GetAttributeValue<AliasedValue>("temp.fullname").Value

+0

Обновленный мой вопрос. Вы имеете в виду, что я должен искать связанные поля в моем 'ec.Entities [n] .Attributes'? –

+0

Обновлен мой ответ. –

+0

Спасибо. Теперь я могу это найти. Может быть, вы знаете, что делать, если мне нужно иметь динамическое количество связанных объектов? Если я не знаю, например, сколько у ребенка контактов может иметь учетную запись? –

Смежные вопросы