Flowthru.Extensions.EFCore
0.27.1
dotnet add package Flowthru.Extensions.EFCore --version 0.27.1
NuGet\Install-Package Flowthru.Extensions.EFCore -Version 0.27.1
<PackageReference Include="Flowthru.Extensions.EFCore" Version="0.27.1" />
<PackageVersion Include="Flowthru.Extensions.EFCore" Version="0.27.1" />
<PackageReference Include="Flowthru.Extensions.EFCore" />
paket add Flowthru.Extensions.EFCore --version 0.27.1
#r "nuget: Flowthru.Extensions.EFCore, 0.27.1"
#:package Flowthru.Extensions.EFCore@0.27.1
#addin nuget:?package=Flowthru.Extensions.EFCore&version=0.27.1
#tool nuget:?package=Flowthru.Extensions.EFCore&version=0.27.1
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.
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 | Versions 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. |
-
net10.0
- Flowthru.Core (>= 0.27.1)
- Microsoft.EntityFrameworkCore (>= 10.0.4)
- Microsoft.EntityFrameworkCore.Relational (>= 10.0.4)
- Microsoft.Extensions.Configuration (>= 10.0.4)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.4)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.4)
- Microsoft.Extensions.DependencyInjection (>= 10.0.4)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.4)
- Microsoft.Extensions.Logging (>= 10.0.4)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.4)
- Microsoft.Extensions.Options (>= 10.0.4)
NuGet packages (1)
Showing the top 1 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 |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.27.1 | 37 | 7/2/2026 |
| 0.27.1-preview.120 | 31 | 7/2/2026 |
| 0.27.0 | 88 | 7/1/2026 |
| 0.27.0-preview.119 | 39 | 7/1/2026 |
| 0.26.0-preview.112 | 60 | 6/5/2026 |
| 0.25.0 | 133 | 6/2/2026 |
| 0.25.0-preview.110 | 64 | 6/2/2026 |
| 0.24.0-preview.108 | 62 | 6/2/2026 |
| 0.21.0 | 114 | 5/24/2026 |
| 0.21.0-preview.101 | 63 | 5/24/2026 |
| 0.20.0 | 111 | 5/23/2026 |
| 0.20.0-preview.100 | 59 | 5/23/2026 |
| 0.19.0-preview.99 | 66 | 5/23/2026 |
| 0.18.5-preview.98 | 74 | 5/22/2026 |
| 0.18.4-preview.97 | 59 | 5/22/2026 |
| 0.18.3 | 110 | 5/20/2026 |
| 0.18.3-preview.95 | 60 | 5/19/2026 |
| 0.18.2 | 118 | 5/18/2026 |
| 0.18.2-preview.93 | 63 | 5/18/2026 |