我正在使用 Organization Service 更新实体:
_organizationService.Update(contact);
然后,我想立即通过发出以下内容来查询 CRM 以获取该记录的最新版本:
_xrmServiceContext.ContactSet.FirstOrDefault(x => x.Id == contactGuid);
我注意到 _xrmServiceContext 返回旧数据,除非我在请求更新数据之前执行 Thread.Sleep(1000)。
有没有办法“等待”数据更新?
我正在看this作为可能的解决方案;但是,我不确定如何更改我的实现以匹配此模式。
最佳答案
XrmServiceContext将组织服务作为缓存的参数。
使用清除更改_xrmServiceContext.ClearChanges();
或者您也可以新建另一个 XrmServiceContext通过传递新的组织服务来对象。
var uncachedOrganizationService = new OrganizationService("Xrm");
var uncachedXrmServiceContext = new XrmServiceContext(uncachedOrganizationService);
uncachedXrmServiceContext.ContactSet.FirstOrDefault(x => x.Id == contactGuid);
关于c# - 请求 CRM 中实体的最新版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39904250/