/// <summary>
 /// Initializes a new instance of the IEdmStructuredType class.
 /// </summary>
 /// <param name="typeKind">Possible values include: 'None',
 /// 'Primitive', 'Entity', 'Complex', 'Collection', 'EntityReference',
 /// 'Enum', 'TypeDefinition', 'Untyped', 'Path'</param>
 public IEdmStructuredType(bool?isAbstract = default(bool?), bool?isOpen = default(bool?), IEdmStructuredType baseType = default(IEdmStructuredType), IList <IEdmProperty> declaredProperties = default(IList <IEdmProperty>), IEdmStructuredTypeTypeKind?typeKind = default(IEdmStructuredTypeTypeKind?))
 {
     IsAbstract         = isAbstract;
     IsOpen             = isOpen;
     BaseType           = baseType;
     DeclaredProperties = declaredProperties;
     TypeKind           = typeKind;
     CustomInit();
 }
 /// <summary>
 /// Initializes a new instance of the IEdmNavigationProperty class.
 /// </summary>
 /// <param name="onDelete">Possible values include: 'None',
 /// 'Cascade'</param>
 /// <param name="propertyKind">Possible values include: 'None',
 /// 'Structural', 'Navigation'</param>
 public IEdmNavigationProperty(IEdmNavigationProperty partner = default(IEdmNavigationProperty), IEdmNavigationPropertyOnDelete?onDelete = default(IEdmNavigationPropertyOnDelete?), bool?containsTarget = default(bool?), IEdmReferentialConstraint referentialConstraint = default(IEdmReferentialConstraint), IEdmNavigationPropertyPropertyKind?propertyKind = default(IEdmNavigationPropertyPropertyKind?), IEdmTypeReference type = default(IEdmTypeReference), IEdmStructuredType declaringType = default(IEdmStructuredType), string name = default(string))
 {
     Partner               = partner;
     OnDelete              = onDelete;
     ContainsTarget        = containsTarget;
     ReferentialConstraint = referentialConstraint;
     PropertyKind          = propertyKind;
     Type          = type;
     DeclaringType = declaringType;
     Name          = name;
     CustomInit();
 }