Limitations
Db4Net is intentionally focused on safe, SQL-shaped Dapper queries and commands. The query builder is still intentionally compact: it supports typed table/view sources plus single-column IN subquery filters, but it is not a full SQL DSL.
Included in the current alpha:
- typed
SELECT,INSERT,UPDATE, andDELETEbuilders - typed existence and count query builders through
SelectExistsFrom<T>()andSelectCountFrom<T>() - typed scalar aggregate query builders through
SelectAggregateFrom<T>() - paged SELECT terminal methods through
QueryPage(...)andQueryPageAsync(...) - dynamic CLR property-name projection with model validation
- table and view overrides
- entity and many-entity command conveniences
- regular single-row insert key return
- conflict-aware insert conveniences
Where,OrWhere, single-columnWhereInsubqueries,WhereGroup,OrWhereGroup,OrderBy,OrderByDescending,Limit,Offset, andPage- sync and async Dapper-style terminal methods
- existing transaction pass-through, lightweight transaction scopes, command timeout, command type, and async cancellation token support
Intentionally out of scope:
- joins
- provider-native copy/import APIs
- set-based synchronization or optimized batching
- generated-key readback for
InsertMany(...)or conflict-aware inserts - automatic refresh of all database-generated or computed values
- MySQL generated-key readback for non-auto-increment generated keys such as trigger/default/expression-generated values
- SQL Server generated-key readback for trigger-enabled tables that require
OUTPUT ... INTO - SQLite generated-key readback on SQLite runtimes older than 3.35
- change tracking, dirty checking,
SaveChanges(), or unit-of-work behavior - relationship loading, cascade persistence, lazy loading, or proxy generation
- migrations or schema management
- automatic concurrency tokens
- full predicate expression translation such as
Where(u => u.Id == 1) - full LINQ provider behavior
For complex joins or database-specific SQL, use Dapper raw SQL directly or expose stable read models through database views.