SqlHydra
A suite of NuGet packages for F# that generates types from a database schema and provides strongly typed, compile-time-checked query expressions for SQL Server, PostgreSQL, SQLite, Oracle, or MySQL.
SqlHydra generates F# record types from an existing database schema and pairs them with a query library built on computation expressions, so a query such as filtering, ordering, and selecting from a table is checked by the compiler rather than at run time. A CLI wizard prompts for a connection string, output file, and namespace, and can be re-run to regenerate types for SQL Server, PostgreSQL, SQLite, Oracle, or MySQL.
Generated code includes a record type per table, with nullable columns mapped to F# option types, table declarations for use in queries, and a QueryContextFactory with a Create method suited to dependency injection. Query builders come in both Task and Async variants for select, insert, update, and delete operations.
It is written in F# and released under the MIT license.