VSlices.EntityFrameworkCore.Functional
0.1.0
dotnet add package VSlices.EntityFrameworkCore.Functional --version 0.1.0
NuGet\Install-Package VSlices.EntityFrameworkCore.Functional -Version 0.1.0
<PackageReference Include="VSlices.EntityFrameworkCore.Functional" Version="0.1.0" />
<PackageVersion Include="VSlices.EntityFrameworkCore.Functional" Version="0.1.0" />
<PackageReference Include="VSlices.EntityFrameworkCore.Functional" />
paket add VSlices.EntityFrameworkCore.Functional --version 0.1.0
#r "nuget: VSlices.EntityFrameworkCore.Functional, 0.1.0"
#:package VSlices.EntityFrameworkCore.Functional@0.1.0
#addin nuget:?package=VSlices.EntityFrameworkCore.Functional&version=0.1.0
#tool nuget:?package=VSlices.EntityFrameworkCore.Functional&version=0.1.0
VSlices.EntityFrameworkCore.Functional
Functional, effectful extensions for Entity Framework Core built on LanguageExt.
The package keeps ordinary query composition as ordinary EF Core composition and wraps operations that actually cross the I/O boundary in IO / OptionT<IO, A>.
Install
dotnet add package VSlices.EntityFrameworkCore.Functional
Current surface
Query execution
AllIO
AnyIO
CountIO
LongCountIO
FirstIO
FirstOrNoneIO
SingleIO
SingleOrNoneIO
ToSeqIO
MinIO
MaxIO
SumIO
AverageIO
FindOrNoneIO
Context and persistence
CreateDbContextIO
AddIO
AddRangeIO
UpdateIO
RemoveIO
RemoveRangeIO
SaveChangesIO
ClearIO
DisposeIO
Set-based operations
ExecuteUpdateIO
ExecuteDeleteIO
Transactions
BeginTransactionIO
CommitIO
RollbackIO
DisposeIO
Example
using EntityFrameworkCore.Functional;
var users =
await db.Users
.Where(user => user.Active)
.ToSeqIO()
.RunAsync();
var updated =
await db.Users
.Where(user => user.Pending)
.ExecuteUpdateIO(setters =>
setters.SetProperty(user => user.Pending, false))
.RunAsync();
Compositional EF Core operations such as Where, Select, Include, AsNoTracking, OrderBy, and AsSplitQuery remain ordinary EF Core APIs rather than being wrapped unnecessarily.
Verification
Integration tests execute against a real PostgreSQL instance provisioned with Testcontainers. CI verifies query execution, aggregates, persistence operations, Find tracking behavior, set-based update/delete, and transaction commit/rollback semantics.
Authors
- Hernán Alvarez
- VSlices Development
Published and maintained under VSlices.
Status
The package is young and its API is still being validated through real consumers. Initial releases use the 0.x version line.
| 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
- LanguageExt.Core (>= 5.0.0-beta-77)
- Microsoft.EntityFrameworkCore (>= 10.0.11)
- Microsoft.EntityFrameworkCore.Relational (>= 10.0.11)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0 | 197 | 9/23/2026 |