-
Notifications
You must be signed in to change notification settings - Fork 178
Description
At the moment all the constructor of ODataQueryOptions<TEntity>
and the static BindAsync
methods need the HttpRequest
or the HttpRequest
which makes it hard to create an instance of the class on the fly.
It would be way easier to have methods/constructors which just take in in IDictionary<string, string>
or ODataRawQueryOptions
(if the setter are made public) and an optional IEdmModel
(would be null for non-model scenarios).
My current goal is to parse these from a simple JSON object in order to create an MCP Tool with OData capabilities, but I'm sure that it would benefit others.
My current approach to achieve this is to get the values into a Dictionary<string, string>
, then set httpContext.QueryString
, use Reflection to create an instance of the ODataQueryParameterBinding
through new ODataQueryParameterBindingAttribute().BinderType
, and having my own ModelBindingContext
which just delegates stuff to the HttpContext
.
This is way to complicated in order to just create an instance of ODataQueryOptions<TEntity>
and it should be easier.