Infra.Fusion (0.1.0-experimental.3)
Installation
dotnet nuget add source --name ochekroun --username your_username --password your_token dotnet add package --source ochekroun --version 0.1.0-experimental.3 Infra.FusionAbout this package
Experimental .NET persistence library for explicit SQL, typed mapping, and transactional change tracking.
Fusion
Experimental package: APIs may change between releases. This package is intended for early testing and feedback.
Fusion is a compact .NET persistence library for business applications and existing databases. It combines developer-owned SQL, typed mapping, explicit result shapes, and transactional change tracking without a LINQ query provider, dynamic proxies, or schema generation.
The package currently targets .NET 10 and includes providers for SQL Server, PostgreSQL, and SQLite in the Infra.Fusion.Provider namespaces.
await using var connection = FusionConnection.Create(dbConnection).UseSqlite();
var people = await connection.GetRowsAsync<Person>(
"SELECT Id, Name FROM Person WHERE Id = @id",
new Parameters { { "id", 1 } });
Graph reconstruction remains explicit:
var shape = new From<Person>(
new Join<Order>(new Join<OrderLine>()));
var nodes = await connection.GetDataNodesAsync(sql, shape, parameters);
Fusion does not generate or parse developer-owned queries. Persistence SQL is generated only for explicitly mapped insert, update, and delete operations.
Experimental release with breaking API changes: unified Parameters and Parameters, optional Merge callbacks with MergeMutable for mutable rows, and Scope.FlushAsync triggers. No compatibility guarantees between experimental releases.