-
-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Custom LINQ Provider #87
Comments
It would also be really cool to add support for |
Kickstarts #87 though a ton more work is needed
As I suspected, it should be fairly straight forward to build the outer stages and having them configurable at runtime via a custom query converter. The harder bit is definitely parsing the internal lambda expressions. Things it needs to consider:
Other changes required:
|
Kickstarts #87 though a ton more work is needed
Basic benchmark of the current LINQ query generation. Some surprises but overall, not fantastic.
|
Kickstarts #87 though a ton more work is needed
Kickstarts #87 though a ton more work is needed
While #54 talks about replacing the entire driver, this is a more focused change on replacing the entire LINQ pipeline of the driver with a custom implementation.
The main benefit is extensibility of queries and potentially generation of more optimal queries.
This project is still a huge undertaking but is one independent step towards a better library.
Thoughts:
IQueryable
extension methods and the actual functions that will help generate that part of the stage.Where
calls) need to be merged together.BsonDocument
pre-stage stuff etc$geoNear
etcResultTransformer
, allowing better queries (eg..Any()
) to be translated more directlyThe hardest thing in the whole build of this is all the sub-query bits, things like complex
Where
orSelect
statements.The text was updated successfully, but these errors were encountered: