У меня есть коллекция сущностей, составленная из запроса fetchXML.
string fetch = @"
<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>
<entity name='new_rl'>
<attribute name='new_rlsid' />
<attribute name='new_productid' />
<attribute name='new_subquantity' />
<filter type='and'>
<condition attribute='new_sg' operator='eq' value='" + servingGroup.Value.ToString() + @"' />
<condition attribute='new_s' operator='eq' value='' />
<condition attribute='new_ld' operator='eq' value='" + location + @"' />
<condition attribute='new_productid' operator='not-null' />
</filter>
<link-entity name='new_ys' from='new_ysid' to='new_orderid' link-type='inner' alias='ae'>
<filter type='and'>
<condition attribute='new_ysid' operator='eq' value='{" + yGuid.ToString() + @"}' />
</filter>
</link-entity>
</entity>
</fetch>";
EntityCollection Labels = service.RetrieveMultiple(new FetchExpression(fetch));
Мне нужно отфильтровать вышеуказанную коллекцию сущностей на основе атрибута 'new_productid'.Если две сущности имеют одинаковое значение для 'new_productid', то я хочу, чтобы только одна из этих сущностей отображалась в новой отфильтрованной совокупности сущностей .Мне нужно, чтобы new_productid и new_subquantity и new_rlsid были в моей новой коллекции сущностей.
Я заметил, что у LINQ есть свойство .Distinct()
, но все примеры msdn для CRM показывают, как это сделать с LINQ с использованием раннего связывания.Все мои плагины имеют позднюю привязку и нуждаются в решении Linq для поздней привязки.