Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. F#
  3. SQLProvider

SQLProvider

NOASSERTIONF#

A general F# SQL database type provider supporting LINQ queries, schema exploration, CRUD operations, and multiple database vendors.

Visit WebsiteGitHubGitHub
624 stars149 forks0 contributors

What is SQLProvider?

SQLProvider is an F# type provider that offers type-safe, compile-time access to SQL databases. It generates .NET types directly from the database schema, enabling LINQ queries, CRUD operations, and schema exploration without manual ORM mapping. It supports multiple database vendors like SQL Server, PostgreSQL, MySQL, and SQLite.

Target Audience

F# developers and .NET teams who need type-safe database access with minimal runtime overhead and support for various SQL databases.

Value Proposition

Developers choose SQLProvider for its compile-time safety, elimination of ORM mapping, and seamless integration with F# workflows, offering a robust alternative to traditional ORMs with support for asynchronous operations and multiple database backends.

Overview

A general F# SQL database erasing type provider, supporting LINQ queries, schema exploration, individuals, CRUD operations and much more besides.

Use Cases

Best For

  • Building type-safe database access layers in F# applications
  • Developing applications that require support for multiple SQL database vendors
  • Writing LINQ queries with compile-time validation in F#
  • Implementing CRUD operations with transactional support in F#
  • Exploring and navigating database schemas programmatically in F#
  • Integrating stored procedures and functions into F# applications

Not Ideal For

  • Teams using non-F# .NET languages like C# or VB.NET
  • Projects with highly dynamic or NoSQL databases where schema changes frequently
  • Environments with strict security policies that restrict dynamic assembly loading
  • Developers who prefer runtime ORMs with more extensive ecosystem and tooling support

Pros & Cons

Pros

Compile-Time Type Safety

Generates .NET types directly from the database schema at compile time, eliminating manual ORM mapping and catching type errors early, as emphasized in the philosophy of minimal runtime overhead.

Multi-Database Support

Offers explicit implementations for 8+ SQL databases including SQL Server, PostgreSQL, and MySQL, plus an ODBC provider for broader connectivity, as listed in the NuGet packages table.

Async and LINQ Integration

Fully supports asynchronous workflows and LINQ queries, enabling efficient and type-safe database operations in F#, with features like async operations and LINQ expressions highlighted in the key features.

Comprehensive CRUD and Procedure Support

Provides transactional CRUD operations with identity support and direct access to stored procedures and functions, as detailed in the features list for seamless database interaction.

Cons

Dynamic Assembly Loading Complications

For databases other than SQL Server, dynamic assembly loading can cause security issues, requiring manual configuration changes in files like fsi.exe.config, as admitted in the known issues section.

F#-Only Limitation

Exclusively designed for F#, making it incompatible with other .NET languages and restricting its use in mixed-language projects, limiting its appeal outside the F# ecosystem.

Build Time Overhead

Compile-time schema generation can slow down build processes, especially when the database schema is large or changes often, adding complexity compared to runtime ORMs.

Frequently Asked Questions

Quick Stats

Stars624
Forks149
Contributors0
Open Issues120
Last commit1 month ago
CreatedSince 2013

Tags

#typeprovider#database-access#type-provider#database#database-schema#oracle#sql-database#linq#sql-server#dotnet#dotnet-core#postgresql#mariadb#crud-operations#mysql#sqlite#orm-alternative#fsharp

Built With

.
.NET Core
F
F#
.
.NET Standard

Links & Resources

Website

Included in

F#1.4k
Auto-fetched 1 day ago

Related Projects

FSharp.DataFSharp.Data

F# Data: Library for Data Access

Stars868
Forks284
Last commit14 days ago
Rezoom.SQLRezoom.SQL

Statically typechecks a common SQL dialect and translates it to various RDBMS backends

Stars678
Forks23
Last commit2 days ago
SwaggerProviderSwaggerProvider

F# generative Type Provider for Swagger

Stars277
Forks60
Last commit1 day ago
R Type ProviderR Type Provider

An F# type provider for in-process R interop

Stars242
Forks69
Last commit9 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub