|
|
#1 |
|
Участник
|
Коллеги, приветствую.
Есть следующая задача. Имеется сущность контакт. У сущности есть несколько связей 1:М. Требуется максимально оптимальное решение (дотнет) для получения всех связанных объектов (гуидов) на текущий момент по этим связям. Моё решение (три связанных сущности new_sms, new_discountcard, new_order): Код: string fetch = @"
<fetch count='50' >
<entity name='contact' >
<filter type='and' >
<condition attribute='contactid' operator='eq' value='" + contactSlaveId + @"' />
</filter>
<link-entity name='new_sms' from='new_contactid' to='contactid' link-type='outer' alias='sms' >
<attribute name='new_smsid' />
</link-entity>
<link-entity name='new_discountcard' from='new_contactid' to='contactid' link-type='outer' alias='card' >
<attribute name='new_discountcardid' />
</link-entity>
<link-entity name='new_order' from='new_contactid' to='contactid' link-type='outer' alias='order' >
<attribute name='new_orderid' />
</link-entity>
</entity>
</fetch>";
EntityCollection result = Service.RetrieveMultiple(new FetchExpression(fetch));
var smsList = result.Entities.Select(x => x.GetAttributeValue<AliasedValue>("sms.new_smsid").Value).Distinct().ToList();
var cardList = result.Entities.Select(x => x.GetAttributeValue<AliasedValue>("card.new_discountcardid").Value).Distinct().ToList();
var orderList = result.Entities.Select(x => x.GetAttributeValue<AliasedValue>("order.new_orderid").Value).Distinct().ToList(); |
|
|