private static ComplexType ConvertToComplexType( SchemaComplexType element, DbProviderManifest providerManifest, Converter.ConversionCache convertedItemCache, Dictionary <SchemaElement, GlobalItem> newGlobalItems) { ComplexType complexType = new ComplexType(element.Name, element.Namespace, Converter.GetDataSpace(providerManifest)); newGlobalItems.Add((SchemaElement)element, (GlobalItem)complexType); foreach (StructuredProperty property in element.Properties) { complexType.AddMember((EdmMember)Converter.ConvertToProperty(property, providerManifest, convertedItemCache, newGlobalItems)); } complexType.Abstract = element.IsAbstract; if (element.BaseType != null) { complexType.BaseType = (EdmType)Converter.LoadSchemaElement((System.Data.Entity.Core.SchemaObjectModel.SchemaType)element.BaseType, providerManifest, convertedItemCache, newGlobalItems); } if (element.Documentation != null) { complexType.Documentation = Converter.ConvertToDocumentation(element.Documentation); } Converter.AddOtherContent((SchemaElement)element, (MetadataItem)complexType); return(complexType); }
private static EntityType ConvertToEntityType( SchemaEntityType element, DbProviderManifest providerManifest, Converter.ConversionCache convertedItemCache, Dictionary <SchemaElement, GlobalItem> newGlobalItems) { string[] strArray = (string[])null; if (element.DeclaredKeyProperties.Count != 0) { strArray = new string[element.DeclaredKeyProperties.Count]; for (int index = 0; index < strArray.Length; ++index) { strArray[index] = element.DeclaredKeyProperties[index].Property.Name; } } EdmProperty[] edmPropertyArray = new EdmProperty[element.Properties.Count]; int num = 0; foreach (StructuredProperty property in element.Properties) { edmPropertyArray[num++] = Converter.ConvertToProperty(property, providerManifest, convertedItemCache, newGlobalItems); } EntityType entityType = new EntityType(element.Name, element.Namespace, Converter.GetDataSpace(providerManifest), (IEnumerable <string>)strArray, (IEnumerable <EdmMember>)edmPropertyArray); if (element.BaseType != null) { entityType.BaseType = (EdmType)Converter.LoadSchemaElement((System.Data.Entity.Core.SchemaObjectModel.SchemaType)element.BaseType, providerManifest, convertedItemCache, newGlobalItems); } entityType.Abstract = element.IsAbstract; if (element.Documentation != null) { entityType.Documentation = Converter.ConvertToDocumentation(element.Documentation); } Converter.AddOtherContent((SchemaElement)element, (MetadataItem)entityType); newGlobalItems.Add((SchemaElement)element, (GlobalItem)entityType); return(entityType); }