public string GetNameForEntity(EntityMetadata entityMetadata, IServiceProvider services) { if (entityMetadata == null) { throw new ArgumentNullException(nameof(entityMetadata)); } if (services == null) { throw new ArgumentNullException(nameof(services)); } if (removePublisherPrefix) { var metadataService = (IMetadataProviderService)services.GetService(typeof(IMetadataProviderService)); var noPrefixName = entityMetadata.IsCustomEntity == true?entityMetadata.SchemaName.Substring(entityMetadata.SchemaName.IndexOf("_", StringComparison.InvariantCulture) + 1) : entityMetadata.SchemaName; var result = noPrefixName; var equal = metadataService.LoadMetadata().Entities.Where(x => noPrefixName == (x.IsCustomEntity == true ? x.SchemaName.Substring(x.SchemaName.IndexOf("_", StringComparison.InvariantCulture) + 1) : x.SchemaName)).Select(x => new string[] { x.SchemaName, x.IsCustomEntity == true ? x.SchemaName.Substring(x.SchemaName.IndexOf("_", StringComparison.InvariantCulture) + 1) : x.SchemaName }).ToArray(); if (equal.Length > 1) { for (int i = 0; i < equal.Length; i++) { if (equal[i][0] == entityMetadata.SchemaName) { result = equal[i][1] + (i + 1); break; } } } return(result); } else { return(namingService.GetNameForEntity(entityMetadata, services)); } }