diff --git a/src/Microsoft.OpenApi.OData.Reader/Common/EdmModelHelper.cs b/src/Microsoft.OpenApi.OData.Reader/Common/EdmModelHelper.cs index e518a3d8..d6cfd843 100644 --- a/src/Microsoft.OpenApi.OData.Reader/Common/EdmModelHelper.cs +++ b/src/Microsoft.OpenApi.OData.Reader/Common/EdmModelHelper.cs @@ -24,7 +24,7 @@ internal static OpenApiSchema GetDerivedTypesReferenceSchema(IEdmStructuredType Utils.CheckArgumentNull(edmModel, nameof(edmModel)); if(structuredType is not IEdmSchemaElement schemaElement) throw new ArgumentException("The type is not a schema element.", nameof(structuredType)); - IEnumerable derivedTypes = edmModel.FindDirectlyDerivedTypes(structuredType).OfType(); + IEnumerable derivedTypes = edmModel.FindAllDerivedTypes(structuredType).OfType(); if (!derivedTypes.Any()) { diff --git a/src/Microsoft.OpenApi.OData.Reader/Microsoft.OpenAPI.OData.Reader.csproj b/src/Microsoft.OpenApi.OData.Reader/Microsoft.OpenAPI.OData.Reader.csproj index bbc70ebe..3ecbb711 100644 --- a/src/Microsoft.OpenApi.OData.Reader/Microsoft.OpenAPI.OData.Reader.csproj +++ b/src/Microsoft.OpenApi.OData.Reader/Microsoft.OpenAPI.OData.Reader.csproj @@ -15,7 +15,7 @@ netstandard2.0 Microsoft.OpenApi.OData true - 1.2.0-preview9 + 1.2.0-preview10 This package contains the codes you need to convert OData CSDL to Open API Document of Model. © Microsoft Corporation. All rights reserved. Microsoft OpenApi OData EDM @@ -31,6 +31,7 @@ - Adds custom parameters to $count and ODataTypeCast paths' Get operations #207 - Adds support for configuring the default value of derived types' @odata.type property #304 - Adds OData query parameters to $count endpoints #313 +- Finds all the derived types for a schema element #84 Microsoft.OpenApi.OData.Reader ..\..\tool\Microsoft.OpenApi.OData.snk diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Generator/OpenApiSchemaGeneratorTests.cs b/test/Microsoft.OpenAPI.OData.Reader.Tests/Generator/OpenApiSchemaGeneratorTests.cs index 8479a50b..63c86f67 100644 --- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Generator/OpenApiSchemaGeneratorTests.cs +++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Generator/OpenApiSchemaGeneratorTests.cs @@ -960,7 +960,7 @@ public void GetDerivedTypesReferenceSchemaReturnsDerivedTypesReferencesInSchemaI // Act schema = Common.EdmModelHelper.GetDerivedTypesReferenceSchema(entityType, edmModel); - int derivedTypesCount = edmModel.FindDirectlyDerivedTypes(entityType).OfType().Count() + 1; // + 1 the base type + int derivedTypesCount = edmModel.FindAllDerivedTypes(entityType).OfType().Count() + 1; // + 1 the base type // Assert Assert.NotNull(schema.OneOf);