// the find
tmsmith/Dapper-Extensions
Dapper Extensions is a small library that complements Dapper by adding basic CRUD operations (Get, Insert, Update, Delete) for your POCOs. For more advanced querying scenarios, Dapper Extensions provides a predicate system. The goal of this library is to keep your POCOs pure by not requiring any attributes or base class inheritance.
A thin wrapper over Dapper that adds CRUD operations (Get, Insert, Update, Delete, GetList, GetPage) without requiring you to annotate your POCOs. Mapping is handled via ClassMapper classes kept separate from your domain objects. It sits between raw Dapper and a full ORM — you still write SQL for anything complex, but you don't repeat boilerplate for the simple stuff.
Zero-annotation approach is genuinely well-executed: your POCOs stay clean and the mapping lives in a separate class that's easy to test. Multi-database dialect support (SQL Server, PostgreSQL, MySQL, SQLite, Oracle, DB2) is real — each has its own dialect class and integration tests with Docker fixtures. The predicate system handles AND/OR trees and BETWEEN without you dropping to raw SQL for common filter patterns. Composite key support works correctly, which many micro-ORMs get wrong.
Last meaningful activity was early 2024 and the project shows it — the NuGet packages checked into /nuget/ go back to 1.0, the TODO.txt almost certainly has items that never shipped, and open PRs suggest the maintainer isn't reviewing. The predicate system caps out fast: anything involving joins, subqueries, or window functions requires you to bypass the library entirely and write raw Dapper, which defeats the point for non-trivial schemas. No source-generated mapping or compile-time validation — mapping errors surface at runtime. The global static configuration pattern (DapperExtensions.DefaultMapper = ...) is a design smell that causes test isolation headaches.