XrmServiceContext对象未从CRM获取最新数据

时间:2017-01-12 13:53:46

标签: dynamics-crm xrm

我有一个wcf连接到crm(在前)以检索帐户记录。我可以看到当检索实体时它不保存当前记录,即某些字段仍将保留旧列值。我尝试了各种合并选项无济于事。请参阅下面的代码

using (XrmServiceContext cContext = new XrmServiceContext(con))
{                
    Entity ent = cContext.Retrieve(ConstantKVP.AccountSchema.ENTITY_LOGICAL_NAME, AccountId, new ColumnSet(true));
}

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

保存后使用明确更改cContext.ClearChanges();

对于检索,请使用MergeOption.OverwriteChanges

通过传递一个新的组织服务来创建一个新的XrmServiceContext对象:

var uncachedOrganizationService = new OrganizationService("Xrm");
var uncachedXrmServiceContext = new XrmServiceContext(uncachedOrganizationService);
var ent = uncachedXrmServiceContext.Retrieve(ConstantKVP.AccountSchema.ENTITY_LOGICAL_NAME,AccountId,new ColumnSet(true));

答案 1 :(得分:0)

数据是否可能被缓存? cContext.TryAccessCache(cache => cache.Mode = OrganizationServiceCacheMode.Disabled); 我把这种方法用于CrmOrganizationServiceContext,所以也许适用相同的理论。