Получить первую запись из CRM с помощью ранней привязки

Я хочу получить самую верхнюю запись из моего объекта CRM, используя выражение запроса с ранней привязкой.

Я написал это как:

QueryExpression opportunityProductsQuery = new QueryExpression
        {
            EntityName = PCSEPortal.oph_ophthalmicclaim.EntityLogicalName,
            ColumnSet = new ColumnSet("Name"),
            Criteria = new FilterExpression
            {
               new ConditionExpression
                        {
                            //condition
                        }
            }
        };
        return "";

Но я не уверен, как написать здесь, где условие и верхний 1 порядок по условию Desc.

Для условия where у меня есть столбец как Канал отправки

- Logical name - oph_submissionchannel
- Schema Name  - oph_SubmissionChannel

и заказать по Guid или любому уникальному идентификатору.

Как написать здесь выражение запроса? Или есть другой вариант лучше? Я стараюсь избегать использования FetchXML для этого.


person omkar patade    schedule 14.08.2017    source источник


Ответы (2)


Для этого нужно использовать PagingInfo.

opportunityProductsQuery.PageInfo.Count = 1;

Подробнее. В этом примере показано, как использовать LinkEntity, LinkCriteria, Sort Order Descending и PageInfo для получения результата.

    LinkEntity le = opportunityProductsQuery.AddLink(PCSEPortal.oph_submissionchannel.EntityLogicalName, “oph_submissionchannelid”, “2ndentityname2”);
    le.Columns = new ColumnSet(“oph_submissionchannelid”);
    le.LinkCriteria.AddCondition(“oph_submissionchannelid”, ConditionOperator.Equal, Guid);   //where condition
    opportunityProductsQuery.AddOrder(“modifiedon”, OrderType.Descending);
    opportunityProductsQuery.PageInfo = new PagingInfo();
    opportunityProductsQuery.PageInfo.Count = 1;
    opportunityProductsQuery.PageInfo.PageNumber = 1;

    EntityCollection entitycolls = service.RetrieveMultiple(equery);
person Arun Vinoth    schedule 14.08.2017

Вы также можете использовать свойство TopCount QueryExpression:

QueryExpression opportunityProductsQuery = new QueryExpression
{
    EntityName = PCSEPortal.oph_ophthalmicclaim.EntityLogicalName,
    TopCount = 1,
    ColumnSet = new ColumnSet("Name")...
};
person Aron    schedule 26.08.2017