Cirreum.Runtime.Persistence.Azure
1.0.28
See the version list below for details.
dotnet add package Cirreum.Runtime.Persistence.Azure --version 1.0.28
NuGet\Install-Package Cirreum.Runtime.Persistence.Azure -Version 1.0.28
<PackageReference Include="Cirreum.Runtime.Persistence.Azure" Version="1.0.28" />
<PackageVersion Include="Cirreum.Runtime.Persistence.Azure" Version="1.0.28" />
<PackageReference Include="Cirreum.Runtime.Persistence.Azure" />
paket add Cirreum.Runtime.Persistence.Azure --version 1.0.28
#r "nuget: Cirreum.Runtime.Persistence.Azure, 1.0.28"
#:package Cirreum.Runtime.Persistence.Azure@1.0.28
#addin nuget:?package=Cirreum.Runtime.Persistence.Azure&version=1.0.28
#tool nuget:?package=Cirreum.Runtime.Persistence.Azure&version=1.0.28
Cirreum.Runtime.Persistence.Azure
Simplified Cirreum.Persistence.Azure configuration for Cirreum runtime applications
Overview
Cirreum.Runtime.Persistence.Azure 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.Azure
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
- 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 |
Features
- Simple Integration: One method to configure all persistence needs
- 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
Declarative Indexing Policy
When IsAutoResourceCreationEnabled is true, Cosmos DB containers are auto-created with indexing policies defined on your entity classes via attributes from Cirreum.Persistence.NoSql:
[Container("tasks")]
[PartitionKeyPath("/clientId")]
[IndexingPolicy(IndexingMode.Consistent, Automatic = true)]
[ExcludedPath("/description/*")]
[ExcludedPath("/*")]
public record TaskItem : Entity {
[IncludedPath]
[CompositeIndex("type-client-date", CompositePathSortOrder.Ascending, position: 0)]
public string Type { get; set; }
[IncludedPath]
[CompositeIndex("type-client-date", CompositePathSortOrder.Ascending, position: 1)]
public string ClientId { get; set; }
[IncludedPath]
[CompositeIndex("type-client-date", CompositePathSortOrder.Descending, position: 2)]
public DateTimeOffset CreatedAt { get; set; }
}
Entities without [IndexingPolicy] use the Cosmos DB default policy (auto-index all paths). For full attribute documentation, see Cirreum.Persistence.NoSql and Cirreum.Persistence.Azure.
Configuration
Configure persistence providers in appsettings.json:
{
"ServiceProviders": {
"Persistence": {
"Azure": {
"default": {
"Name": "MyCosmosDb",
"DatabaseId": "my-database",
"OptimizeBandwidth": true,
"IsAutoResourceCreationEnabled": true
}
}
}
},
"ConnectionStrings": {
"MyCosmosDb": "AccountEndpoint=https://your-account.documents.azure.com:443/;AccountKey=..."
}
}
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:
- Cirreum.Persistence.NoSql (abstractions)
- Cirreum.Persistence.Azure (implementation)
Versioning
Cirreum.Runtime.Persistence follows Semantic Versioning:
- Major - Breaking API changes
- Minor - New features, backward compatible
- Patch - Bug fixes, backward compatible
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.1.1)
- Cirreum.Runtime.ServiceProvider (>= 1.0.18)
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.39 | 33 | 8/26/2026 |
| 1.0.38 | 44 | 8/25/2026 |
| 1.0.37 | 89 | 8/21/2026 |
| 1.0.36 | 106 | 8/4/2026 |
| 1.0.35 | 105 | 7/31/2026 |
| 1.0.34 | 98 | 7/31/2026 |
| 1.0.33 | 110 | 7/30/2026 |
| 1.0.32 | 101 | 7/27/2026 |
| 1.0.31 | 97 | 7/25/2026 |
| 1.0.30 | 101 | 7/20/2026 |
| 1.0.29 | 103 | 7/19/2026 |
| 1.0.28 | 102 | 7/11/2026 |
| 1.0.27 | 105 | 7/9/2026 |
| 1.0.26 | 110 | 7/5/2026 |
| 1.0.25 | 123 | 5/11/2026 |
| 1.0.24 | 113 | 5/10/2026 |
| 1.0.23 | 115 | 5/1/2026 |
| 1.0.22 | 126 | 4/28/2026 |
| 1.0.21 | 111 | 4/27/2026 |
| 1.0.20 | 120 | 4/26/2026 |