c# - 请求 CRM 中实体的最新版本

标签 c# .net dynamics-crm-2011

我正在使用 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/

相关文章:

c# - 模仿 .NET 中的 MS Access 或 SQL Server ODBC 服务器

dynamics-crm-2011 - 防止 Dynamics CRM 2011 使用上次使用的表单

sharepoint-2010 - 使用 CRM SDK 中的文档管理的 CRM 2011 和 SharePoint

c# - 自动转义文本框中输入的特殊字符

c# - 标题中带有下拉菜单的自定义 WPF DataGrid

c# - 我可以有一个方法的扩展方法吗?

c# - 转换为接口(interface)类型时未调用 DynamicObject.TryConvert

c# - 什么是获取文件大小的好方法?

c# - 如何使用 LINQ 添加两条记录?

c# - 带有开放泛型的 Ninject 上下文绑定(bind)