// Returns the base types, this type and all the derived types of this type.
        public static IEnumerable <StructuralTypeConfiguration> ThisAndBaseAndDerivedTypes(
            this ODataModelBuilder modelBuilder, StructuralTypeConfiguration structuralType)
        {
            Contract.Assert(modelBuilder != null);
            Contract.Assert(structuralType != null);

            return(structuralType.BaseTypes()
                   .Concat(new[] { structuralType })
                   .Concat(modelBuilder.DerivedTypes(structuralType)));
        }
 // Returns the base types, this type.
 public static IEnumerable <StructuralTypeConfiguration> ThisAndBaseTypes(
     this StructuralTypeConfiguration structuralType)
 {
     Contract.Assert(structuralType != null);
     return(structuralType.BaseTypes().Concat(new[] { structuralType }));
 }
        // Returns the base types, this type and all the derived types of this type.
        public static IEnumerable<StructuralTypeConfiguration> ThisAndBaseAndDerivedTypes(
            this ODataModelBuilder modelBuilder, StructuralTypeConfiguration structuralType)
        {
            Contract.Assert(modelBuilder != null);
            Contract.Assert(structuralType != null);

            return structuralType.BaseTypes()
                    .Concat(new[] { structuralType })
                    .Concat(modelBuilder.DerivedTypes(structuralType));
        }