Uploaded image for project: 'ODATA'
  1. ODATA
  2. ODATA-5

Is support for apply clauses planned?

    • Type: Icon: Bug Bug
    • Resolution: Unresolved
    • Priority: Icon: Unknown Unknown
    • None
    • Affects Version/s: 1.0.0
    • Labels:
      None

      Sorry, but raising this here as there is not much traction on the topic in the community forum.

      I understand that apply clauses are currently not supported, for similar reasons to why select clauses need to be evaluated locally, outside of the Mongo linq provider.

      My (limited) understanding is that there are internal Microsoft OData types that represent the results of aggregation / group-by queries, and evaluating these expression trees in the Mongo linq provider isn't supported. The issue surfaces itself is an exception when expected serialization types mismatch. See:

      https://stackoverflow.com/questions/76570357/net-7-with-mongodb-and-odata-argumentexception-value-type-of-serializer-is-m/78342438#78342438

      https://www.mongodb.com/community/forums/t/mongodb-odata-support/2943

      It would be really useful if apply clauses were also supported. Right now, I'm working with a team that have rolled their own Mongo OData implementation, which could be avoided if apply clauses were supported.

      Questions:

      1. Are there any plans to support apply clauses in the future?
      2. If so, are there plans to support evaluating select projections in Mongo rather than locally?
      3. Or, are there technical limitations due to the internal OData query result types that are used?
      4. Otherwise, if this is supported, are you able to please let me know what I'm missing?

      Thank you in advance for your help.

            Assignee:
            oleksandr.poliakov@mongodb.com Oleksandr Poliakov
            Reporter:
            danielm.smith@gmail.com Daniel Smith
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: