diff --git a/XmlSchemaClassGenerator/ModelBuilder.cs b/XmlSchemaClassGenerator/ModelBuilder.cs index fb495f6..a72c9dd 100644 --- a/XmlSchemaClassGenerator/ModelBuilder.cs +++ b/XmlSchemaClassGenerator/ModelBuilder.cs @@ -232,6 +232,22 @@ private void PromoteInterfacePropertiesToCollection() interfaceProperty.IsCollection = true; } + else + { + interfaceProperty.IsCollection = false; + } + + if (derivedProperties.Exists(p => p.IsRequired)) + { + foreach (var derivedProperty in derivedProperties.Where(p => !p.IsRequired)) + derivedProperty.IsRequired = true; + + interfaceProperty.IsRequired = true; + } + else + { + interfaceProperty.IsRequired = false; + } } } }