internal static MetadataItem LoadSchemaElement( System.Data.Entity.Core.SchemaObjectModel.SchemaType element, DbProviderManifest providerManifest, Converter.ConversionCache convertedItemCache, Dictionary <SchemaElement, GlobalItem> newGlobalItems) { GlobalItem globalItem; if (newGlobalItems.TryGetValue((SchemaElement)element, out globalItem)) { return((MetadataItem)globalItem); } System.Data.Entity.Core.SchemaObjectModel.EntityContainer element1 = element as System.Data.Entity.Core.SchemaObjectModel.EntityContainer; if (element1 != null) { return((MetadataItem)Converter.ConvertToEntityContainer(element1, providerManifest, convertedItemCache, newGlobalItems)); } if (element is SchemaEntityType) { return((MetadataItem)Converter.ConvertToEntityType((SchemaEntityType)element, providerManifest, convertedItemCache, newGlobalItems)); } if (element is Relationship) { return((MetadataItem)Converter.ConvertToAssociationType((Relationship)element, providerManifest, convertedItemCache, newGlobalItems)); } if (element is SchemaComplexType) { return((MetadataItem)Converter.ConvertToComplexType((SchemaComplexType)element, providerManifest, convertedItemCache, newGlobalItems)); } if (element is System.Data.Entity.Core.SchemaObjectModel.Function) { return((MetadataItem)Converter.ConvertToFunction((System.Data.Entity.Core.SchemaObjectModel.Function)element, providerManifest, convertedItemCache, (EntityContainer)null, newGlobalItems)); } if (element is SchemaEnumType) { return((MetadataItem)Converter.ConvertToEnumType((SchemaEnumType)element, newGlobalItems)); } return((MetadataItem)null); }