我有一个通常用于从同一个插件中的不同实体返回数据的查询。在查询中,我选择使用新的ColumnSet(true)返回所有列。
在大多数情况下,这没有任何问题,但我只是碰到了一个实体,它没有带回一些领域。这些字段是使用单独的插件计算的,但这些值肯定会显示在记录本身上,因为它们在表单和视图中可见。但是它们不会在查询中返回。
我尝试通过导入来创建自己的记录,我自己设置这些值而不是通过插件。以这种方式完成后会找到这些值,但对于其他记录,它们仍然缺失。
我已经在下面复制了我的查询,以防有人看到它出了问题。
//set up query for entity
QueryExpression query;
query = new QueryExpression();
query.EntityName = entityName;
query.ColumnSet = new ColumnSet(true);
query.PageInfo.ReturnTotalRecordCount = true;
//get the results
EntityCollection SourceRecords = new EntityCollection();
int pageNumber = 1;
RetrieveMultipleRequest req;
RetrieveMultipleResponse resp = new RetrieveMultipleResponse(); ;
do
{
query.PageInfo.Count = 5000;
query.PageInfo.PagingCookie = (pageNumber == 1) ? null : resp.EntityCollection.PagingCookie;
query.PageInfo.PageNumber = pageNumber++;
req = new RetrieveMultipleRequest();
req.Query = query;
resp = (RetrieveMultipleResponse)SourceOrgService.Execute(req);
SourceRecords.Entities.AddRange(resp.EntityCollection.Entities);
}
while (resp.EntityCollection.MoreRecords);
答案 0 :(得分:0)
查询本身看起来很好,所以你遇到了两个问题之一。