public void ClearCache() { lock (LockObject) { EntityFieldMetadata.Clear(); EntityMetadata.Clear(); RelationshipMetadata.Clear(); EntityRelationships.Clear(); } }
public List <AttributeMetadata> GetEntityFieldMetadata(string entity) { lock (LockObject) { if (!EntityFieldMetadata.ContainsKey(entity)) { _controller.LogLiteral("Retrieving " + entity + " field metadata"); // Create the request var request = new RetrieveEntityRequest { EntityFilters = EntityFilters.Attributes, LogicalName = entity }; var response = (RetrieveEntityResponse)Execute(request); _controller.LogLiteral("Retrieved " + entity + " field metadata"); EntityFieldMetadata.Add(entity, new List <AttributeMetadata>(response.EntityMetadata.Attributes)); } } return(EntityFieldMetadata[entity]); }