/// <summary> /// Allows for Specified Attribute Nmaes to be used to set the generated attribute name /// </summary> /// <param name="entityMetadata">The entity metadata.</param> /// <param name="attributeMetadata">The attribute metadata.</param> /// <param name="services">The services.</param> /// <returns></returns> public string GetNameForAttribute(EntityMetadata entityMetadata, AttributeMetadata attributeMetadata, IServiceProvider services) { HashSet <string> specifiedNames; string attributeName; if (EntityAttributeSpecifiedNames.TryGetValue(entityMetadata.LogicalName.ToLower(), out specifiedNames) && specifiedNames.Any(s => string.Equals(s, attributeMetadata.LogicalName, StringComparison.OrdinalIgnoreCase))) { attributeName = specifiedNames.First(s => string.Equals(s, attributeMetadata.LogicalName, StringComparison.OrdinalIgnoreCase)); } else { attributeName = DefaultService.GetNameForAttribute(entityMetadata, attributeMetadata, services); } return(attributeName); }
private string GetNameForAttribute(EntityMetadata entityMetadata, AttributeMetadata attributeMetadata, IServiceProvider services, bool camelCase) { string attributeName; if (EntityAttributeSpecifiedNames.TryGetValue(entityMetadata.LogicalName.ToLower(), out var specifiedNames) && specifiedNames.Any(s => string.Equals(s, attributeMetadata.LogicalName, StringComparison.OrdinalIgnoreCase))) { attributeName = specifiedNames.First(s => string.Equals(s, attributeMetadata.LogicalName, StringComparison.OrdinalIgnoreCase)); } else { attributeName = DefaultService.GetNameForAttribute(entityMetadata, attributeMetadata, services); attributeName = camelCase ? CamelCaser.Case(attributeName) : attributeName; } return(attributeName); }