Изменилось лишь немного:
ObjectCache cache = Microsoft.Xrm.Client.Caching.ObjectCacheManager
.GetInstance("Xrm");
string cachekey = String.Format("xrm:dependency:entity:{0}:id={1:D}",
entity.LogicalName, entity.Id);
cache.Remove(cachekey);
Я не нашел документации для этого, нашел схему именования ключей, перечислив кеш. Вероятно, использование этого не является лучшей практикой, это может измениться снова в следующей версии? Должен быть лучший способ сделать это ...
[Update]
Существует лучший способ .
Попробуйте это:
var serviceContext = (Get an OrganizationServiceContext);
var serviceContainer = serviceContext as
OrganizationServiceContainer;
var cachedOrgService = serviceContainer.Service as
CachedOrganizationService;
var orgServiceCache = cachedOrgService.Cache as
IOrganizationServiceCache;
var entity = (Get the entity that was updated);
orgServiceCache.Remove(entity.LogicalName, entity.Id);
Работает как шарм ...