TheUtils.Db 3.0.0-beta-1

This is a prerelease version of TheUtils.Db.
dotnet add package TheUtils.Db --version 3.0.0-beta-1
                    
NuGet\Install-Package TheUtils.Db -Version 3.0.0-beta-1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="TheUtils.Db" Version="3.0.0-beta-1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="TheUtils.Db" Version="3.0.0-beta-1" />
                    
Directory.Packages.props
<PackageReference Include="TheUtils.Db" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add TheUtils.Db --version 3.0.0-beta-1
                    
#r "nuget: TheUtils.Db, 3.0.0-beta-1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package TheUtils.Db@3.0.0-beta-1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=TheUtils.Db&version=3.0.0-beta-1&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=TheUtils.Db&version=3.0.0-beta-1&prerelease
                    
Install as a Cake Tool

TheUtils.Db

Database-agnostic monad for functional EF Core operations using language-ext v5.

Features

  • Db<A> monad with ReaderT+IO stack
  • Full EF Core integration with any database provider
  • Transaction management with automatic commit/rollback
  • LINQ query syntax support
  • Monadic composition for database operations

Usage

using TheUtils;

// Create environment from DbContext
var env = DbEnv.FromContext(dbContext);

// Compose database operations
var operation =
    from user in Db.add(new User { Name = "Alice" })
    from _ in Db.saveChanges
    select user.Entity;

// Run within transaction
var result = await Db.transact(operation)
    .Run(env)
    .RunAsync();

Installation

dotnet add package TheUtils.Db

For Postgres-specific features (COPY, LISTEN/NOTIFY, advisory locks), also add:

dotnet add package TheUtils.Db.Postgres
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on TheUtils.Db:

Package Downloads
TheUtils.Db.Postgres

Postgres-specific extensions for TheUtils.Db including COPY protocol, LISTEN/NOTIFY, advisory locks, and JSONB support.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.0.0-beta-1 44 1/18/2026