TCIS.Persistence.Abstractions
1.0.0-rc.33
dotnet add package TCIS.Persistence.Abstractions --version 1.0.0-rc.33
NuGet\Install-Package TCIS.Persistence.Abstractions -Version 1.0.0-rc.33
<PackageReference Include="TCIS.Persistence.Abstractions" Version="1.0.0-rc.33" />
<PackageVersion Include="TCIS.Persistence.Abstractions" Version="1.0.0-rc.33" />
<PackageReference Include="TCIS.Persistence.Abstractions" />
paket add TCIS.Persistence.Abstractions --version 1.0.0-rc.33
#r "nuget: TCIS.Persistence.Abstractions, 1.0.0-rc.33"
#:package TCIS.Persistence.Abstractions@1.0.0-rc.33
#addin nuget:?package=TCIS.Persistence.Abstractions&version=1.0.0-rc.33&prerelease
#tool nuget:?package=TCIS.Persistence.Abstractions&version=1.0.0-rc.33&prerelease
TCIS.Persistence.Abstractions
📖 Overview
TCIS.Persistence.Abstractions provides standard interfaces and configuration classes (Options) for the Persistence layer (Data access and storage) in the TCIS Framework. This library helps decouple business logic from specific ORM technologies (such as EF Core or Dapper).
✨ Features
IDbConnectionFactory: Encapsulates the initialization and opening of Database Connections (TenantAware).IDapperContext: Supports data querying through Dapper.PersistenceOptions: Standard mapping for database configurations.IDbConnectionFactory<TContext>/IDapperContext<TContext>: the same two contracts, keyed by a data-context type — for a modular monolith where each module owns its database.PersistenceOptionsName: the single place that derives the named-options name from a context type. Registration and lookup both go through it, so the two can never drift apart.
Why the generic pair exists
PersistenceOptions in its bare form is bound to the fixed ConfigurationStore section, and there is exactly one unnamed instance per process. Two modules registering their own data layer therefore share one connection string — each overwriting the other's, silently. The generic contracts carry the module identity in the type, and the options behind them are named after that type.
Registration lives in TCIS.Persistence.EntityFrameworkCore (AddTModulePersistence<TDbContext>).
📦 Installation
dotnet add package TCIS.Persistence.Abstractions
⚙️ Configuration (appsettings.json)
{
"ConfigurationStore": {
"ConnectionString": "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;",
"ReadConnectionString": "Server=myReplicaAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;"
}
}
🚀 Usage
Use PersistenceOptions alongside the IOptions pattern or pass it directly into the underlying Factory classes.
using Microsoft.Extensions.Options;
using TCIS.Persistence.Data;
public class MyDatabaseService
{
private readonly PersistenceOptions _options;
public MyDatabaseService(IOptions<PersistenceOptions> options)
{
_options = options.Value;
}
public void DisplayConfig()
{
Console.WriteLine($"Primary DB: {_options.ConnectionString}");
Console.WriteLine($"Replica DB: {_options.ReadConnectionString ?? _options.ConnectionString}");
}
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
-
net8.0
- Microsoft.Extensions.Configuration.Abstractions (>= 9.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.0)
- TCIS.Core (>= 1.0.0-rc.33)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on TCIS.Persistence.Abstractions:
| Package | Downloads |
|---|---|
|
TCIS.Pluggable.Abstractions
TCIS Core Framework is an application framework for building modular, multi-tenant applications on ASP.NET Core. SDK for creating pipeline steps and contexts in TCIS Framework. |
|
|
TCIS.Persistence.Dapper
TCIS Core Framework is an application framework for building modular, multi-tenant applications on ASP.NET Core. Core Persistence Dapper implementation. |
|
|
TCIS.Persistence.EntityFrameworkCore
TCIS Core Framework is an application framework for building modular, multi-tenant applications on ASP.NET Core. Core Persistence EntityFrameworkCore implementation. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0-rc.33 | 97 | 8/21/2026 |
| 1.0.0-rc.32 | 111 | 8/21/2026 |
| 1.0.0-rc.31 | 106 | 8/21/2026 |
| 1.0.0-rc.30 | 117 | 8/21/2026 |
| 1.0.0-rc.29 | 130 | 8/21/2026 |
| 1.0.0-rc.28 | 123 | 8/21/2026 |
| 1.0.0-rc.27 | 116 | 8/21/2026 |
| 1.0.0-rc.26 | 141 | 8/20/2026 |
| 1.0.0-rc.25 | 120 | 8/20/2026 |
| 1.0.0-rc.24 | 105 | 8/20/2026 |
| 1.0.0-rc.23 | 121 | 8/20/2026 |
| 1.0.0-rc.22 | 118 | 8/19/2026 |
| 1.0.0-rc.21 | 113 | 8/19/2026 |
| 1.0.0-rc.20 | 119 | 8/18/2026 |
| 1.0.0-rc.19 | 114 | 8/13/2026 |
| 1.0.0-rc.18 | 98 | 8/13/2026 |
| 1.0.0-rc.17 | 102 | 8/13/2026 |
| 1.0.0-rc.16 | 108 | 8/13/2026 |
| 1.0.0-rc.15 | 112 | 8/12/2026 |
| 1.0.0-rc.14 | 110 | 8/12/2026 |