我想使用早期绑定查询表达式从我的CRM实体中检索最多的记录。
我把它写成:
QueryExpression opportunityProductsQuery = new QueryExpression
{
EntityName = PCSEPortal.oph_ophthalmicclaim.EntityLogicalName,
ColumnSet = new ColumnSet("Name"),
Criteria = new FilterExpression
{
new ConditionExpression
{
//condition
}
}
};
return "";
但我不知道如何通过Desc条件在这里写出条件和前1个顺序。
对于where条件,我将列作为提交频道
- Logical name - oph_submissionchannel
- Schema Name - oph_SubmissionChannel
并按照Guid或任何唯一ID进行排序。
如何在这里编写查询表达式?或者还有其他更好的选择吗?我试图避免使用FetchXML。
答案 0 :(得分:1)
您必须使用PagingInfo
来实现此目标。
opportunityProductsQuery.PageInfo.Count = 1;
http://www.aerospike.com/docs/operations/configure/namespace。此示例显示如何使用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);
答案 1 :(得分:1)
您还可以使用QueryExpression的TopCount属性:
QueryExpression opportunityProductsQuery = new QueryExpression
{
EntityName = PCSEPortal.oph_ophthalmicclaim.EntityLogicalName,
TopCount = 1,
ColumnSet = new ColumnSet("Name")...
};