能否通过XRM SDK向Dynamics CRM本地版潜在客户实体社交窗格插入帖子?
可以通过XRM SDK实现社交窗格帖子插入
社交窗格中的帖子对应Dynamics CRM的Post实体,你需要创建一条Post记录并关联到目标潜在客户(Lead),而非直接更新Lead实体。以下是具体实现方案:
核心实现逻辑
Post是独立实体,通过regardingobjectid字段关联到Lead。你只需创建Post记录并设置关联关系,系统会自动在Lead的社交窗格中显示该帖子。
修改后的完整代码
var _crmUrl = _configuration.GetSection("Crm:Url").Value; var _organizationName = _configuration.GetSection("Crm:Org").Value; var clientCredentials = new System.ServiceModel.Description.ClientCredentials(); clientCredentials.Windows.ClientCredential.UserName = _configuration.GetSection("Crm:user").Value; clientCredentials.Windows.ClientCredential.Password = _configuration.GetSection("Crm:pass").Value; // 初始化组织服务代理 using var crm = new OrganizationServiceProxy($"{_crmUrl}{_organizationName}", null, clientCredentials.Windows.ClientCredential, null); // 优化:无需检索Lead所有字段,直接用EntityReference关联 var leadReference = new EntityReference("lead", new Guid(model.Id)); // 创建Post实体 var post = new Entity("post"); // 设置帖子内容 post["text"] = "这是通过XRM SDK添加的社交窗格帖子"; // 设置关联的潜在客户 post["regardingobjectid"] = leadReference; // 可选:设置帖子主题 post["subject"] = "SDK自动发帖"; // 创建Post记录(无需更新Lead) var postId = await crm.CreateAsync(post, CancellationToken.None);
关键说明
- 无需更新Lead实体:Post是独立的关联实体,创建后系统会自动在Lead的社交窗格中展示,不需要调用
UpdateAsync修改Lead。 - 优化性能:原代码中检索Lead所有字段是不必要的,直接使用
EntityReference关联即可,减少不必要的数据查询。 - 必填属性:
text(帖子内容)和regardingobjectid(关联实体)是Post实体的必填项,subject为可选属性。
内容的提问来源于stack exchange,提问作者Mehdi
相关产品推荐
相关产品推荐

