在 CRM 中请求实体的最新版本
Requesting the most recent version of an entity in CRM
我正在使用 Organization Service:
更新实体
_organizationService.Update(contact);
然后我想通过发出类似以下内容的命令立即向 CRM 查询该记录的最新版本:
_xrmServiceContext.ContactSet.FirstOrDefault(x => x.Id == contactGuid);
我注意到 _xrmServiceContext 正在返回旧数据,除非我在请求更新数据之前执行 Thread.Sleep(1000)。
有没有办法"wait"直到数据更新?
我正在考虑 this 作为可能的解决方案;但是,我不确定如何更改我的实现以匹配此模式。
XrmServiceContext 将组织服务作为缓存的参数。
使用清除更改_xrmServiceContext.ClearChanges();
或者您可以通过传递新的组织服务来新建另一个 XrmServiceContext 对象。
var uncachedOrganizationService = new OrganizationService("Xrm");
var uncachedXrmServiceContext = new XrmServiceContext(uncachedOrganizationService);
uncachedXrmServiceContext.ContactSet.FirstOrDefault(x => x.Id == contactGuid);
我正在使用 Organization Service:
更新实体 _organizationService.Update(contact);
然后我想通过发出类似以下内容的命令立即向 CRM 查询该记录的最新版本:
_xrmServiceContext.ContactSet.FirstOrDefault(x => x.Id == contactGuid);
我注意到 _xrmServiceContext 正在返回旧数据,除非我在请求更新数据之前执行 Thread.Sleep(1000)。
有没有办法"wait"直到数据更新?
我正在考虑 this 作为可能的解决方案;但是,我不确定如何更改我的实现以匹配此模式。
XrmServiceContext 将组织服务作为缓存的参数。
使用清除更改_xrmServiceContext.ClearChanges();
或者您可以通过传递新的组织服务来新建另一个 XrmServiceContext 对象。
var uncachedOrganizationService = new OrganizationService("Xrm");
var uncachedXrmServiceContext = new XrmServiceContext(uncachedOrganizationService);
uncachedXrmServiceContext.ContactSet.FirstOrDefault(x => x.Id == contactGuid);