请求CRM中实体的最新版本

本文关键字:最新版 新版本 实体 CRM 请求 | 更新日期: 2023-09-27 18:11:59

我正在使用组织服务更新一个实体:

    _organizationService.Update(contact);

然后,我想通过发出如下命令立即向CRM查询该记录的最新版本:

_xrmServiceContext.ContactSet.FirstOrDefault(x => x.Id == contactGuid);

我注意到_xrmServiceContext正在返回旧数据,除非我在请求更新的数据之前执行Thread.Sleep(1000)。

是否有一种方法来"等待",直到数据更新?

我认为这是一个可能的解决方案;但是,我不确定如何更改实现以匹配此模式。

请求CRM中实体的最新版本

XrmServiceContext将组织服务作为缓存的参数。

使用清晰的变更_xrmServiceContext.ClearChanges();

或者你可以通过传递一个新的organizationservice来创建另一个XrmServiceContext对象。

var uncachedOrganizationService = new OrganizationService("Xrm");
var uncachedXrmServiceContext = new XrmServiceContext(uncachedOrganizationService);
uncachedXrmServiceContext.ContactSet.FirstOrDefault(x => x.Id == contactGuid);