2017-08-14 8 views
1

早期バインディングクエリ式を使用して、CRMエンティティから最も多くのレコードを取得したいと考えています。初期バウンドを使用してCRMからトップレコードを取得する

私はそれを書かれている:

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

しかし、私はここにDESC条件によって条件とトップ1オーダーを作成する方法を確認していません。ここで、条件の

、Iは、提出チャネル

- Logical name - oph_submissionchannel 
- Schema Name - oph_SubmissionChannel 

及び順序GUIDでまたは任意の一意のIDとしてカラムを有します。

ここでクエリ式を書き込む方法は?または、他に良い選択肢がありますか?私はこのためにFetchXMLを避けようとしています。

答えて

1

これを達成するには、PagingInfoを使用する必要があります。

opportunityProductsQuery.PageInfo.Count = 1; 

Read more。この例では、LinkEntity、LinkCriteria、Order 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); 
1

またのQueryExpressionのトップカウントプロパティを使用することができます。

QueryExpression opportunityProductsQuery = new QueryExpression 
{ 
    EntityName = PCSEPortal.oph_ophthalmicclaim.EntityLogicalName, 
    TopCount = 1, 
    ColumnSet = new ColumnSet("Name")... 
}; 
関連する問題