Overview
What is Kiwi ORM?
One data-access foundation with three access modes, portable across 11 database engines.
Enterprise systems rarely use a single data-access pattern. High-throughput paths get hand-written SQL, domain models get an ORM, and some teams standardise on a repository contract. Most architectures end up combining Entity Framework Core, Dapper, ADO.NET and separate migration tooling, each with its own behaviour to learn, secure and maintain.
Kiwi ORM provides those access models inside one data-access foundation. You choose the right model per operation, not per project, and the execution pipeline underneath stays the same.
Three access modes#
| Mode | Use it for | Edition |
|---|---|---|
| Raw SQL (KMQL) | Maximum SQL control: complex queries, existing schemas and performance-sensitive paths. Portable across databases through KMQL markup. Typed parameter binding, automatic result mapping, async-first | Free |
| Entity | Strongly typed, domain-oriented access: change tracking, relationship mapping, schema reflection, bulk operations and CRUD without hand-written SQL | Free |
| Repository | Standardised, testable data-access contracts: a generic repository base, queries derived from method names, query composition and pagination | Commercial |
See Choosing an access mode and Editions and features.
What every mode shares#
- Strongly typed pipeline. Parameter binding, result mapping and query dispatch are handled once, in one execution layer, with no runtime reflection overhead on the hot path.
- Sync and async execution throughout.
- Stored procedure support on every backend, through a typed C# contract.
- Transaction management built into the pipeline, consistent across all three modes.
- Database portability. The same code runs on SQL Server, PostgreSQL, MySQL, MariaDB, SQLite, Oracle, Firebird, DB2, Informix, SAP HANA and Microsoft Access. See Supported databases.
Beyond querying#
- Managed CTEs (Commercial): standard and recursive common table expressions written as typed C#, compiled per database dialect. See Common table expressions.
- Schema lifecycle: generate entities from a live database (data-first), or turn entity changes into reviewable, versioned migrations (model-first). See Generate entities and migrations.
- Auditing: Core includes the auditing hooks, so you can write your own audit code. The Enterprise edition adds ready-made adapters for all 11 databases and MongoDB, with a query audit trail, and sensitive-value redaction. See Audit data access.
The foundation of the Kiwify platform#
Kiwi ORM Core is the data-access layer used across the Kiwify platform. The same pipeline runs underneath Kiwi Fabric, Kiwi Flow and Kiwi Vault. It ships as part of Kiwi Foundation.
Performance#
Kiwi ORM is benchmarked against Entity Framework Core and Dapper with a published, repeatable method. See Performance for the results and what they do and do not show.
Licensing#
Kiwi ORM is available under a source-available licence. An Enterprise edition, with ready-made compliance auditing and advanced features, is available for qualifying organisations. Contact Kiwify Labs for access.