Skip to content

Support LINQ3 in the MongoDB Driver #342

@Turnerj

Description

@Turnerj

With the 2.19.0 version of the MongoDB driver (in #337) comes a new internal implementation of the LINQ provider. Due to the low level way part of the queryable system needs to hook into the driver, there will need to be changes to MongoFrameworkQueryableProvider to support LINQ3.

One of the biggest benefits with LINQ3 is the AppendStage queryable extension, allowing for a custom PipelineStageDefinition to be appended to the current expression which is super useful for more advanced forms of query construction. This will allow removal of the "PreStage" in MongoFrameworkQueryableProvider which was used by a SearchGeo LINQ extension in MongoFramework.

With LINQ3, the two biggest questions look around the following:

  • How result transformers are handled - we need access ourselves to feed it through the right value detection system.
  • How the serializer is determined - will likely need it still for calls to the aggregation pipeline etc.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions