public void OnProvidersExecuted(ActionDescriptorProviderContext context)
        {
            if (routeCollectionProvider.Items.Count == 0)
            {
                return;
            }

            var results     = context.Results;
            var conventions = new IODataActionDescriptorConvention[]
            {
                new ImplicitHttpMethodConvention(),
                new ODataRouteBindingInfoConvention(routeCollectionProvider, modelMetadataProvider, options),
            };

            for (var i = results.Count - 1; i >= 0; i--)
            {
                var result = results[i];

                if (!(result is ControllerActionDescriptor action) ||
                    !action.ControllerTypeInfo.IsODataController())
                {
                    continue;
                }

                results.RemoveAt(i);

                for (var j = 0; j < conventions.Length; j++)
                {
                    conventions[j].Apply(context, action);
                }
            }
        }
        public void OnProvidersExecuted(ActionDescriptorProviderContext context)
        {
            if (routeCollectionProvider.Items.Count == 0)
            {
                return;
            }

            var results     = context.Results.ToArray();
            var conventions = new IODataActionDescriptorConvention[]
            {
                new ImplicitHttpMethodConvention(),
                new ODataRouteBindingInfoConvention(routeCollectionProvider, modelMetadataProvider, options),
            };

            foreach (var action in ODataActions(results))
            {
                foreach (var convention in conventions)
                {
                    convention.Apply(context, action);
                }
            }
        }