C# 请求CRM中实体的最新版本
我正在使用以下命令更新实体: 然后,我想通过发布以下命令立即向CRM查询该记录的最新版本:C# 请求CRM中实体的最新版本,c#,.net,dynamics-crm-2011,C#,.net,Dynamics Crm 2011,我正在使用以下命令更新实体: 然后,我想通过发布以下命令立即向CRM查询该记录的最新版本: _xrmServiceContext.ContactSet.FirstOrDefault(x => x.Id == contactGuid); 我注意到xrmServiceContext正在返回旧数据,除非我在请求更新数据之前执行Thread.Sleep(1000) 是否有办法“等待”数据更新? 我正在寻找一个可能的解决方案;但是,我不确定如何更改实现以匹配此模式 将组织服务作为缓存的参数 使用C
_xrmServiceContext.ContactSet.FirstOrDefault(x => x.Id == contactGuid);
我注意到xrmServiceContext正在返回旧数据,除非我在请求更新数据之前执行Thread.Sleep(1000)
是否有办法“等待”数据更新?
我正在寻找一个可能的解决方案;但是,我不确定如何更改实现以匹配此模式 将组织服务作为缓存的参数
使用ClearChanges\u xrmServiceContext.ClearChanges()代码>
或者,您也可以通过传递一个新的organizationservice来创建另一个对象
var uncachedOrganizationService = new OrganizationService("Xrm");
var uncachedXrmServiceContext = new XrmServiceContext(uncachedOrganizationService);
uncachedXrmServiceContext.ContactSet.FirstOrDefault(x => x.Id == contactGuid);
在执行清除更改之前,我们是否应该执行保存更改?如果您有任何挂起的实体更改,请选择“是”。调用清除更改将取消跟踪添加到跟踪更改A的任何实体。
var uncachedOrganizationService = new OrganizationService("Xrm");
var uncachedXrmServiceContext = new XrmServiceContext(uncachedOrganizationService);
uncachedXrmServiceContext.ContactSet.FirstOrDefault(x => x.Id == contactGuid);