1 //---------------------------------------------------------------------
2 // <copyright file="SchemaComplexType.cs" company="Microsoft">
3 // Copyright (c) Microsoft Corporation. All rights reserved.
7 // @backupOwner Microsoft
8 //---------------------------------------------------------------------
10 namespace System.Data.EntityModel.SchemaObjectModel
12 using System.Data.Metadata.Edm;
15 /// Summary description for NestedType.
17 internal sealed class SchemaComplexType : StructuredType
19 #region Public Methods
23 /// <param name="parentElement"></param>
24 internal SchemaComplexType(Schema parentElement)
27 if (Schema.DataModel == SchemaDataModelOption.EntityDataModel)
28 OtherContent.Add(Schema.SchemaSource);
32 #region Public Properties
35 #region Protected Methods
39 internal override void ResolveTopLevelNames()
41 base.ResolveTopLevelNames();
43 if ( BaseType != null )
45 if ( !(BaseType is SchemaComplexType) )
47 AddError( ErrorCode.InvalidBaseType, EdmSchemaErrorSeverity.Error,
48 System.Data.Entity.Strings.InvalidBaseTypeForNestedType(BaseType.FQName,FQName));
53 protected override bool HandleElement(Xml.XmlReader reader)
55 if (base.HandleElement(reader))
59 else if (CanHandleElement(reader, XmlConstants.ValueAnnotation))
61 // EF does not support this EDM 3.0 element, so ignore it.
65 else if (CanHandleElement(reader, XmlConstants.TypeAnnotation))
67 // EF does not support this EDM 3.0 element, so ignore it.