Cirreum.Runtime.Persistence
1.0.47
dotnet add package Cirreum.Runtime.Persistence --version 1.0.47
NuGet\Install-Package Cirreum.Runtime.Persistence -Version 1.0.47
<PackageReference Include="Cirreum.Runtime.Persistence" Version="1.0.47" />
<PackageVersion Include="Cirreum.Runtime.Persistence" Version="1.0.47" />
<PackageReference Include="Cirreum.Runtime.Persistence" />
paket add Cirreum.Runtime.Persistence --version 1.0.47
#r "nuget: Cirreum.Runtime.Persistence, 1.0.47"
#:package Cirreum.Runtime.Persistence@1.0.47
#addin nuget:?package=Cirreum.Runtime.Persistence&version=1.0.47
#tool nuget:?package=Cirreum.Runtime.Persistence&version=1.0.47
Cirreum.Runtime.Persistence
Simplified persistence configuration for Cirreum runtime applications
Overview
Cirreum.Runtime.Persistence provides a unified persistence layer configuration for the Cirreum framework. It simplifies database integration by offering a single extension method that automatically registers and configures multiple persistence providers with built-in health checks.
Installation
dotnet add package Cirreum.Runtime.Persistence
Usage
Add persistence to your application with a single line:
var builder = WebApplication.CreateBuilder(args);
// Add persistence support
builder.AddPersistence();
var app = builder.Build();
This automatically:
- Registers Azure Cosmos DB persistence services
- Registers SQL Server persistence services
- Configures health checks for database connectivity
- Prevents duplicate service registration
- Integrates with the Cirreum service provider infrastructure
Supported Providers
| Provider | Package | Database |
|---|---|---|
| Azure Cosmos DB | Cirreum.Persistence.Azure |
NoSQL document database |
| Sql Server | Cirreum.Persistence.SqlServer |
SQL Server relational database |
| SQLite | Cirreum.Persistence.SQLite |
SQLite relational database |
Features
- Simple Integration: One method to configure all persistence needs
- Multi-Provider Support: Built-in support for both NoSQL (Cosmos DB) and relational (SQL Server, SQLite) databases
- Declarative Indexing Policies: Entity attribute-driven Cosmos DB indexing configuration (included/excluded paths, composite indexes, spatial indexes)
- Health Checks: Automatic health check registration for monitoring
- Duplicate Prevention: Smart registration prevents service conflicts
- Extensible Design: Built on the Cirreum service provider pattern for easy extension
Configuration
Configure persistence providers in appsettings.json:
{
"ServiceProviders": {
"Persistence": {
"Azure": {
"default": {
"Name": "MyCosmosDb",
"DatabaseId": "my-database",
"OptimizeBandwidth": true,
"IsAutoResourceCreationEnabled": true
}
},
"SqlServer": {
"default": {
"Name": "MySqlServer",
"UseAzureAuthentication": true,
"CommandTimeoutSeconds": 30,
"HealthOptions": {
"Query": "SELECT 1",
"Timeout": "00:00:05"
}
}
},
"Sqlite": {
"default": {
"Name": "MySqlite",
"CommandTimeoutSeconds": 30,
"HealthOptions": {
"Query": "SELECT 1",
"Timeout": "00:00:05"
}
}
}
}
},
"ConnectionStrings": {
"MyCosmosDb": "AccountEndpoint=https://your-account.documents.azure.com:443/;AccountKey=...",
"MySqlServer": "Server=myserver.database.windows.net;Database=MyDb"
"MySqlite": "Data Source=mydb.sqlite"
}
}
The Name property resolves the connection string via Configuration.GetConnectionString(name). For production, store connection strings in Azure Key Vault using the naming convention ConnectionStrings--{Name}.
For detailed configuration options, see the individual provider documentation:
Versioning
Cirreum.Runtime.Persistence follows Semantic Versioning:
- Major - Breaking API changes
- Minor - Truly new features, backward compatible
- Patch - Additional implementations, backward compatible
Given its foundational role, major version bumps are rare and carefully considered.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Cirreum Foundation Framework
Layered simplicity for modern .NET
| 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
- Cirreum.Persistence.Azure (>= 2.0.5)
- Cirreum.Persistence.SQLite (>= 1.0.26)
- Cirreum.Persistence.SqlServer (>= 1.0.31)
- Cirreum.Runtime.ServiceProvider (>= 1.0.17)
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 |
|---|---|---|
| 1.0.47 | 99 | 5/11/2026 |
| 1.0.46 | 96 | 5/10/2026 |
| 1.0.45 | 91 | 5/1/2026 |
| 1.0.44 | 106 | 4/28/2026 |
| 1.0.43 | 98 | 4/27/2026 |
| 1.0.42 | 106 | 4/26/2026 |
| 1.0.41 | 104 | 4/15/2026 |
| 1.0.40 | 114 | 4/13/2026 |
| 1.0.39 | 100 | 4/13/2026 |
| 1.0.38 | 110 | 4/10/2026 |
| 1.0.37 | 111 | 3/25/2026 |
| 1.0.36 | 100 | 3/25/2026 |
| 1.0.35 | 103 | 3/21/2026 |
| 1.0.34 | 98 | 3/21/2026 |
| 1.0.33 | 114 | 3/17/2026 |
| 1.0.32 | 101 | 3/16/2026 |
| 1.0.31 | 113 | 3/14/2026 |
| 1.0.30 | 107 | 3/13/2026 |
| 1.0.29 | 109 | 3/9/2026 |
| 1.0.28 | 103 | 3/4/2026 |