dynamics-crm - 对注释文档正文字段的查询被截断为 2000 个字符
问题描述
我正在使用 CRM SDK 通过实现以下代码从 Dynamics 365 CRM 中的注释表中获取数据。
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 中设置任何内容来检索完整数据?
解决方案
您不能直接这样做,您首先需要将 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);
推荐阅读
- matlab - 图像矩阵中的棋盘距离
- excel - 前 5 个最高的特定行
- browser-cache - 网站开发者如何让所有用户看到最新版本?
- flask - 如何用自定义视图覆盖 OAuthView?
- python - 如何使用drawcontours为给定坐标绘制徒手线?
- batch-file - 在 FOR 循环中使用 FORFILES 并尝试覆盖错误
- python - 如何使用 python 脚本打开任何版本的 python?
- python - 使用换行符转义序列读取 csv
- android - 无法在应用程序模块中使用模块中的 Java 库
- android - 如果我在 Android 的运行时写了一些代码。如果我想在应用程序中调用此代码,我该怎么办?