@@ -249,8 +249,8 @@ protected virtual void ExploreQueryOptions( IEnumerable<ApiDescription> apiDescr
249
249
}
250
250
251
251
static bool IsMappedTo ( ControllerActionDescriptor action , ODataRouteMapping mapping ) =>
252
- action . AttributeRouteInfo != null &&
253
- StringComparer . OrdinalIgnoreCase . Equals ( action . AttributeRouteInfo . Name , mapping . RouteName ) ;
252
+ action . AttributeRouteInfo is ODataAttributeRouteInfo routeInfo &&
253
+ StringComparer . OrdinalIgnoreCase . Equals ( routeInfo . RouteName , mapping . RouteName ) ;
254
254
255
255
static Type ? GetDeclaredReturnType ( ControllerActionDescriptor action )
256
256
{
@@ -346,7 +346,7 @@ IEnumerable<ApiDescription> NewODataApiDescriptions(
346
346
var responseMetadataAttributes = GetResponseMetadataAttributes ( action ) ;
347
347
var declaredReturnType = GetDeclaredReturnType ( action ) ;
348
348
var runtimeReturnType = GetRuntimeReturnType ( declaredReturnType ! ) ;
349
- var apiResponseTypes = GetApiResponseTypes ( responseMetadataAttributes ! , runtimeReturnType ! , mapping . Services ) ;
349
+ var apiResponseTypes = GetApiResponseTypes ( responseMetadataAttributes ! , runtimeReturnType ! , mapping . Services , version ) ;
350
350
var routeContext = new ODataRouteBuilderContext ( mapping , version , action , Options ) { ModelMetadataProvider = MetadataProvider } ;
351
351
352
352
if ( routeContext . IsRouteExcluded )
@@ -640,7 +640,8 @@ static void UpdateBindingInfo( ApiParameterContext context, ParameterDescriptor
640
640
IReadOnlyList < ApiResponseType > GetApiResponseTypes (
641
641
IReadOnlyList < IApiResponseMetadataProvider > responseMetadataAttributes ,
642
642
Type responseType ,
643
- IServiceProvider serviceProvider )
643
+ IServiceProvider serviceProvider ,
644
+ ApiVersion version )
644
645
{
645
646
var results = new List < ApiResponseType > ( ) ;
646
647
var objectTypes = new Dictionary < int , Type > ( ) ;
@@ -682,7 +683,7 @@ IReadOnlyList<ApiResponseType> GetApiResponseTypes(
682
683
683
684
if ( objectType . Value == typeof ( void ) )
684
685
{
685
- type = objectType . Value . SubstituteIfNecessary ( new TypeSubstitutionContext ( serviceProvider , ModelTypeBuilder ) ) ;
686
+ type = objectType . Value . SubstituteIfNecessary ( new TypeSubstitutionContext ( serviceProvider , ModelTypeBuilder , version ) ) ;
686
687
687
688
results . Add ( new ApiResponseType ( )
688
689
{
@@ -694,7 +695,7 @@ IReadOnlyList<ApiResponseType> GetApiResponseTypes(
694
695
continue ;
695
696
}
696
697
697
- type = objectType . Value . SubstituteIfNecessary ( new TypeSubstitutionContext ( serviceProvider , ModelTypeBuilder ) ) ;
698
+ type = objectType . Value . SubstituteIfNecessary ( new TypeSubstitutionContext ( serviceProvider , ModelTypeBuilder , version ) ) ;
698
699
699
700
var apiResponseType = new ApiResponseType ( )
700
701
{
0 commit comments