对注释文档主体字段的查询被截断为 2000 个字符

Query to annotation documentbody field is truncated to 2000 characters

我正在使用 CRM SDK 通过实施以下代码从 Dynamics 365 CRM 中的注释 Table 中获取数据。

                QueryExpression query = new QueryExpression("annotation");
                query.Distinct = true;
                query.ColumnSet.AllColumns = true;
                query.Criteria.AddCondition("annotationid", 
                ConditionOperator.Equal, "2A5C8C6C-4155-E911-9114-005056BE2027");
                EntityCollection PartyEnt = CRMUtilities.RetrieveMultiple(query);
                Entity Annotation = new Entity();
                if (PartyEnt.Entities.Count > 0)
                {
                    Annotation = PartyEnt.Entities.FirstOrDefault();
                    string documentBody = Annotation.Attributes["documentbody"].ToString()
                }

我正在成功获取数据,但有一些限制!

我从注释中获取了数据并将 base64 字符串保存在 documentBody 变量中,问题是它只从 documentBody 属性中检索了 2000 个字符,但是在数据库中它有超过 2000 个字符。

帮帮我!

是否需要在 CRM 中设置任何内容才能检索完整数据?

从您的查询中删除 query.Distinct = true;

你不能直接这样做, 您首先需要将 documentbody 转换为 Base64,然后将该 base64 转换为字符串 这是示例代码

Annotation = PartyEnt.Entities.FirstOrDefault();
  //converting document body content to bytes              
byte[] fileinByte= Convert.FromBase64String(Annotation.Attributes["documentbody"].ToString());

//Converting to String
string fileContentinString = System.Text.Encoding.UTF8.GetString(fileinByte);