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.
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 customPipelineStageDefinition
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" inMongoFrameworkQueryableProvider
which was used by aSearchGeo
LINQ extension in MongoFramework.With LINQ3, the two biggest questions look around the following: