This was a series of articles written by Matt Warren about writting LINQ Query Provider, I've formatted the content in markdown and have it here in one place for easy reference.
- Reusable IQueryable base classes
- Where and reusable Expression tree visitor
- Local variable references
- Select
- Improved Column binding
- Nested queries
- Join and SelectMany
- OrderBy
- Removing redundant subqueries
- GroupBy and Aggregates
- More of everything
- Relationships and the IQ Toolkit
- Updates and Batch Processing
- Mapping and Providers
- Transactions, Sessions and Factories
- Performance and Caching
- Automatic Caching and Loading Policies
to follow up with articles, here is the old source code:
and the sample db here.
and you can get latest version from its repo.