CRM利用ObjectCacheManager清除当前XrmServiceContext缓存

本文介绍了解决使用QueryExpression查询时返回旧数据的问题。通过清除CRM缓存,确保每次查询都能获取到最新的数据库结果。

C#代码

刚开始利用QueryExpression,在Gridview绑定数据源的时候,不用手动清除上下文中存在的Entity;

但是在动态生成Table的时候,我们发现相同的QueryExpression会查出还是以前某一次的查询结果,而不是数据库的最新结果,所以我们要清除一下当前的缓存,方法如下:

 

Var context = new XrmServiceContext();

EntityCollection    entityCollection = context.RetrieveMultiple(query);

 

 C# Code

     //删除当前的缓存
     Microsoft.Xrm.Client.Caching.ObjectCacheManager.Clear(Microsoft.Xrm.Client.Caching.ObjectCacheManager.GetInstance());

 

或者

C# Code

      //  删除当前的缓存
      Microsoft.Xrm.Client.Caching.ObjectCacheManager.RemoveAll(Microsoft.Xrm.Client.Caching.ObjectCacheManager.GetInstance());


或者

 

C# Code

//删除当前的缓存       

	protected void ClearAllCRMCache(string entityName)
        {
            var dependency = string.Format("adxdependency:crm:entity:{0}", entityName).ToLower();
            var cache = Microsoft.Xrm.Client.Caching.ObjectCacheManager.GetInstance();
            cache.RemoveAll();
        }



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值