public static IEnumerable <KeyValuePair <string, string> > AsODataQueryStringArguments <T>(this IQueryable <T> queryable) { if (queryable is null) { throw new ArgumentNullException(nameof(queryable)); } var client = new ArgumentCapturingODataDataClient(); ODataExpressionConverterSettings settings = ODataExpressionConverterSettings.Default; if (queryable.Provider is ODataQueryProvider <T> p) { settings = p.Settings; } var provider = new ODataQueryProvider <T>(client, settings); provider.Execute(queryable.Expression); return(client.QueryStringParamaters); }