For the complete documentation index, see llms.txt. This page is also available as Markdown.

EF Core Setup

Minimal example to enable Entity Framework Core persistence for Elsa Workflows, including database provider setup and migrations.

This document provides a minimal, copy-pasteable example for configuring Elsa Workflows with Entity Framework Core persistence.

Prerequisites

  • .NET 8.0 or later

  • Database server (PostgreSQL, SQL Server, SQLite, or MySQL)

  • Elsa v3.x packages

NuGet Packages

For PostgreSQL:

dotnet add package Elsa
dotnet add package Elsa.Persistence.EFCore.PostgreSql
dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL

For SQL Server:

dotnet add package Elsa
dotnet add package Elsa.Persistence.EFCore.SqlServer
dotnet add package Microsoft.EntityFrameworkCore.SqlServer

For SQLite:

dotnet add package Elsa
dotnet add package Elsa.Persistence.EFCore.Sqlite
dotnet add package Microsoft.EntityFrameworkCore.Sqlite

Minimal Configuration

Program.cs

appsettings.json

PostgreSQL:

SQL Server:

SQLite:

Applying Migrations

Option 1: Automatic Migrations (Development)

Set ef.RunMigrations = true in the configuration above. Migrations will be applied automatically when the application starts.

Warning: Automatic migrations are convenient for development but not recommended for production. Use manual migrations in production environments.

Option 2: CLI Migrations (Production)

1. Install EF Core Tools:

2. Generate Migration Script (for review):

3. Apply Migrations:

Multiple Contexts

Elsa uses separate DbContexts for different concerns:

  • ManagementElsaDbContext — Workflow definitions and instances

  • RuntimeElsaDbContext — Bookmarks, inbox, execution logs

Apply migrations for both contexts:

Advanced Configuration

Separate Databases

Use separate databases for management and runtime data:

Connection Pooling

Configure connection pool settings for high-concurrency scenarios:

Retry on Transient Failures

Configure retry logic for transient database errors:

Troubleshooting

Migration Errors

Error: The term 'dotnet-ef' is not recognized

Solution: Install EF Core tools:

Error: No migrations were applied. The database is already up to date.

Solution: This is informational. The database schema is current.

Error: Login failed for user or password authentication failed

Solution: Verify connection string credentials and database permissions.

Logging

Enable EF Core logging to diagnose issues:


Last Updated: 2025-11-28

Last updated