@@ -249,8 +249,8 @@ protected virtual void ExploreQueryOptions( IEnumerable<ApiDescription> apiDescr
249249 }
250250
251251 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 ) ;
254254
255255 static Type ? GetDeclaredReturnType ( ControllerActionDescriptor action )
256256 {
@@ -346,7 +346,7 @@ IEnumerable<ApiDescription> NewODataApiDescriptions(
346346 var responseMetadataAttributes = GetResponseMetadataAttributes ( action ) ;
347347 var declaredReturnType = GetDeclaredReturnType ( action ) ;
348348 var runtimeReturnType = GetRuntimeReturnType ( declaredReturnType ! ) ;
349- var apiResponseTypes = GetApiResponseTypes ( responseMetadataAttributes ! , runtimeReturnType ! , mapping . Services ) ;
349+ var apiResponseTypes = GetApiResponseTypes ( responseMetadataAttributes ! , runtimeReturnType ! , mapping . Services , version ) ;
350350 var routeContext = new ODataRouteBuilderContext ( mapping , version , action , Options ) { ModelMetadataProvider = MetadataProvider } ;
351351
352352 if ( routeContext . IsRouteExcluded )
@@ -640,7 +640,8 @@ static void UpdateBindingInfo( ApiParameterContext context, ParameterDescriptor
640640 IReadOnlyList < ApiResponseType > GetApiResponseTypes (
641641 IReadOnlyList < IApiResponseMetadataProvider > responseMetadataAttributes ,
642642 Type responseType ,
643- IServiceProvider serviceProvider )
643+ IServiceProvider serviceProvider ,
644+ ApiVersion version )
644645 {
645646 var results = new List < ApiResponseType > ( ) ;
646647 var objectTypes = new Dictionary < int , Type > ( ) ;
@@ -682,7 +683,7 @@ IReadOnlyList<ApiResponseType> GetApiResponseTypes(
682683
683684 if ( objectType . Value == typeof ( void ) )
684685 {
685- type = objectType . Value . SubstituteIfNecessary ( new TypeSubstitutionContext ( serviceProvider , ModelTypeBuilder ) ) ;
686+ type = objectType . Value . SubstituteIfNecessary ( new TypeSubstitutionContext ( serviceProvider , ModelTypeBuilder , version ) ) ;
686687
687688 results . Add ( new ApiResponseType ( )
688689 {
@@ -694,7 +695,7 @@ IReadOnlyList<ApiResponseType> GetApiResponseTypes(
694695 continue ;
695696 }
696697
697- type = objectType . Value . SubstituteIfNecessary ( new TypeSubstitutionContext ( serviceProvider , ModelTypeBuilder ) ) ;
698+ type = objectType . Value . SubstituteIfNecessary ( new TypeSubstitutionContext ( serviceProvider , ModelTypeBuilder , version ) ) ;
698699
699700 var apiResponseType = new ApiResponseType ( )
700701 {
0 commit comments