Rezoom.SQL
Rezoom.SQL is an F# ORM that statically typechecks SQL at compile-time via an F# type provider, translating to SQLite, SQL Server, and PostgreSQL. It catches SQL errors, schema mismatches, and type conflicts before runtime, reducing debugging overhead and enabling safe refactoring when schemas change.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | fsprojects/Rezoom.SQL |
| Owner | fsprojects |
| Primary language | F# |
| License | MIT — OSI-approved |
| Stars | 680 |
| Forks | 23 |
| Open issues | 18 |
| Latest release | Unknown |
| Last updated | 2026-06-24 |
| Source | https://github.com/fsprojects/Rezoom.SQL |
What Rezoom.SQL is
Generative type provider integrated with F# compiler that parses migration scripts to infer database schema, validates query syntax against 45+ error categories, and generates type-safe .NET query objects. Designed to work with Rezoom framework for automatic query batching and transaction-level caching using compiler-generated query metadata (IDs, side-effect flags, table read/write bitmasks).
Get the Rezoom.SQL source
Clone the repository and explore it locally.
git clone https://github.com/fsprojects/Rezoom.SQL.gitcd Rezoom.SQL# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- F# compiler and runtime must be available in build pipeline; .NET Framework or .NET Core version compatibility should be verified before adoption.
- Migration scripts become the schema source of truth; establish clear naming conventions and versioning discipline to prevent typechecker desynchronization.
- Query playground (rzsql.com) is useful for learning dialect limits; budget time to map existing SQL patterns to Rezoom.SQL's supported syntax.
- Generated types can be consumed from C#/VB.NET but with awkward nullability representations unless C#-style `System.Nullable<T>` option is enabled at project setup.
- Type provider regeneration happens at compile time; large migration histories may increase build duration—profile early in larger projects.
When to avoid it — and what to weigh
- Non-F# primary codebase — Type provider is F#-specific; while generated types work in C#/VB.NET, the authoring experience and tooling are F#-centric. Setup and maintenance friction increases in polyglot teams.
- Dynamic query requirements — Static typechecking requires query structure known at compile time. Systems needing runtime-constructed queries or heavy ad-hoc SQL will find the constraints frustrating.
- Minimal operational overhead required — Migration script parsing and schema inference add build-time complexity. Simpler ORMs (e.g., Dapper, Entity Framework Core) may be faster to integrate for straightforward projects.
- MySQL or other unsupported backends — Currently supports only SQLite, SQL Server, and PostgreSQL. Other RDBMS require custom backend implementation (scope and effort unknown).
License & commercial use
MIT License. Permissive OSI-approved license allowing unrestricted commercial use, modification, and distribution with attribution and no warranty.
MIT license explicitly permits commercial use. No licensing restrictions apply. No proprietary dependencies documented; review transitive dependencies (NuGet packages) for any conflicting licenses before production deployment.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Strong |
| License clarity | Clear |
| Deployment complexity | Moderate |
| DEV.co fit | Good |
| Assessment confidence | High |
Static typechecking cannot prevent SQL injection via string concatenation outside the type provider's purview; developers must not bypass the dialect. No security audit, penetration test results, or vulnerability disclosure process documented. Evaluate parameterization strategy for untrusted inputs. Migration script handling (parsing, evaluation) is not audited for logic flaws; apply standard code review discipline.
Alternatives to consider
Entity Framework Core (EF Core)
Language-agnostic, broader ecosystem, mature, multi-database. Lacks compile-time SQL validation; requires .NET runtime. Preferred if C# is primary language or team lacks F# expertise.
Dapper
Lightweight, zero-overhead mapper, minimal complexity. No compile-time checking; requires manual query review. Preferred if SQL control and simplicity outweigh type safety.
sqlc (Go/Rust/Python)
Similar compile-time SQL checking via code generation; polyglot (not F#-only). Preferred if non-.NET stack or language-agnostic query authoring is required.
Build on Rezoom.SQL with DEV.co software developers
If your team uses F# and values type safety, Rezoom.SQL drastically reduces database-related runtime errors and makes refactoring painless. Start with the tutorial and query playground—no setup required.
Talk to DEV.coRelated open-source tools
Surfaced by semantic similarity across the DEV.co open-source index.
Related on DEV.co
Explore the category and the services that help you build with it.
Rezoom.SQL FAQ
Do I need Rezoom to use Rezoom.SQL?
Can I use Rezoom.SQL from C# or VB.NET?
What happens if I change my schema without updating migrations?
How do I deploy without rebuilding the entire F# project?
Custom software development services
From first prototype to production, DEV.co delivers software development services around tools like Rezoom.SQL. Our software development agency staffs experienced software developers and web developers for custom software development, web development, integrations, and ongoing support across open-source databases and beyond.
Ready to eliminate SQL bugs at compile time?
If your team uses F# and values type safety, Rezoom.SQL drastically reduces database-related runtime errors and makes refactoring painless. Start with the tutorial and query playground—no setup required.