Skip to content

History / In Memory Provider

Revisions

  • Add the QueryForge wiki Twenty-eight pages covering all four packages, written from the source rather than from the READMEs, so that the library's behaviour can be understood — or reimplemented — without reading the code. Foundations cover the query model, the JSON wire contract, the fluent builders and the result contract. Query Semantics is the specification: the evaluation pipeline, the rules that decide whether a condition is usable at all, SQL's three-valued logic and how each provider reproduces it, per-operator behaviour, the null-ordering standard, the paging arithmetic and the value-coercion table. Provider pages document the Dapper compiler statement by statement with per-engine output, the ISqlDialect contract and how the five dialects differ, the EF Core translator including why negation is pushed down to individual conditions rather than wrapped in NOT, and the in-memory engine. Reference material covers every public signature, every exception the library raises with its cause and fix, the 1.x to 2.0 migration, the release process, and an FAQ. The sharp edges are documented rather than glossed: grouped queries return every row beneath the paged groups so counts can be truthful, the schema cache has no invalidation and needs a restart after a table reshape, SilentStrip cannot enforce an object-name policy, DapperDatabaseProvider is a closed enum so a sixth engine has no clean home, and in-memory string comparison is ordinal-ignore-case while a database follows its column's collation. All 182 internal links and 446 heading anchors verified against GitHub's slug rules.

    @amirhosseinmp02 amirhosseinmp02 committed Aug 1, 2026