Flowthru.Extensions.EFCore 0.28.0

There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package Flowthru.Extensions.EFCore --version 0.28.0
                    
NuGet\Install-Package Flowthru.Extensions.EFCore -Version 0.28.0
                    
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="Flowthru.Extensions.EFCore" Version="0.28.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Flowthru.Extensions.EFCore" Version="0.28.0" />
                    
Directory.Packages.props
<PackageReference Include="Flowthru.Extensions.EFCore" />
                    
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 Flowthru.Extensions.EFCore --version 0.28.0
                    
#r "nuget: Flowthru.Extensions.EFCore, 0.28.0"
                    
#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 Flowthru.Extensions.EFCore@0.28.0
                    
#: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=Flowthru.Extensions.EFCore&version=0.28.0
                    
Install as a Cake Addin
#tool nuget:?package=Flowthru.Extensions.EFCore&version=0.28.0
                    
Install as a Cake Tool

Flowthru.Extensions.EFCore

Read and write Flowthru Catalog Items against a relational database through an EF Core DbContext. Declare an Item as an EF Core table, a single-row entity, or a deferred query, point it at your DbContext, and a Flow loads typed rows from — and saves typed rows to — the database with the same one-line declaration any other Item uses.

coverage

Mental model

This bridges your EF Core DbContext into the Catalog. Bring everything you already know — DbSet<T> per table, an entity type with a key, IDbContextFactory<TContext> for a fresh context per operation, LINQ Include/Where/OrderBy for shaping a read. The Item is just a named handle on a table: the read is your DbContext query, the write is a save you can customize. Three shapes match the SQL you mean — EFCoreTable (multi-row, eager), EFCoreEntity (single row), and EFCoreQuery (multi-row, deferred — the step decides when to materialise).

Install

dotnet add package Flowthru.Extensions.EFCore

Register your DbContext factory, then declare an EF Core-backed Item in your Catalog:

// Host wiring — a fresh DbContext per Load/Save is the idiomatic concurrent pattern.
services.AddDbContextFactory<SpaceflightsDbContext>(options =>
    options.UseSqlite($"Data Source={dbPath}"));

services.AddFlowthru(b =>
{
    b.RegisterCatalog(sp => new Catalog(
        sp.GetRequiredService<IDbContextFactory<SpaceflightsDbContext>>()));

    // Optional pre-flight hooks — surface a bad connection string or a
    // misconfigured model at host startup, not at first flow run.
    b.VerifyEFCoreConnection<SpaceflightsDbContext>();
    b.VerifyEFCoreConfiguration<SpaceflightsDbContext>();
});

// In the Catalog — a multi-row table, ordered on read:
public IItem<IEnumerable<ModelInputTableSchema>> ModelInputTable =>
    CreateItem(() => Item.Of<IEnumerable<ModelInputTableSchema>>("ModelInputTable")
        .EFCoreTable<ModelInputTableSchema, SpaceflightsDbContext>()
        .WithContextFactory(_contextFactory)
        .WithQuery(q => q.OrderBy(r => r.ShuttleId))
        .Build());

UseEFCore() is the opt-in scheduler gate that serializes concurrent writes to a single-writer database (e.g. SQLite) when running at Parallelism > 1; reads and pooled-server writes stay parallel.

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 (2)

Showing the top 2 NuGet packages that depend on Flowthru.Extensions.EFCore:

Package Downloads
Flowthru.Extensions.EFCore.Bulk

Bulk operation support for Flowthru EFCore catalog items via EFCore.BulkExtensions

Flowthru.Extensions.EFCore.Npgsql

Npgsql-native bulk transfer for Flowthru EFCore catalog items — PostgreSQL tables that pair over raw binary COPY so AddBulkTransfer moves Postgres-to-Postgres data as a byte passthrough instead of row-at-a-time.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.28.1-preview.122 19 7/9/2026
0.28.0 73 7/7/2026
0.28.0-preview.121 41 7/7/2026
0.27.1 96 7/2/2026
0.27.1-preview.120 59 7/2/2026
0.27.0 186 7/1/2026
0.27.0-preview.119 55 7/1/2026
0.26.0-preview.112 62 6/5/2026
0.25.0 135 6/2/2026
0.25.0-preview.110 66 6/2/2026
0.24.0-preview.108 66 6/2/2026
0.21.0 116 5/24/2026
0.21.0-preview.101 64 5/24/2026
0.20.0 115 5/23/2026
0.20.0-preview.100 61 5/23/2026
0.19.0-preview.99 67 5/23/2026
0.18.5-preview.98 76 5/22/2026
0.18.4-preview.97 60 5/22/2026
0.18.3 111 5/20/2026
Loading failed