Novolis.Storage.AzureTables
2026.1.1.42
See the version list below for details.
dotnet add package Novolis.Storage.AzureTables --version 2026.1.1.42
NuGet\Install-Package Novolis.Storage.AzureTables -Version 2026.1.1.42
<PackageReference Include="Novolis.Storage.AzureTables" Version="2026.1.1.42" />
<PackageVersion Include="Novolis.Storage.AzureTables" Version="2026.1.1.42" />
<PackageReference Include="Novolis.Storage.AzureTables" />
paket add Novolis.Storage.AzureTables --version 2026.1.1.42
#r "nuget: Novolis.Storage.AzureTables, 2026.1.1.42"
#:package Novolis.Storage.AzureTables@2026.1.1.42
#addin nuget:?package=Novolis.Storage.AzureTables&version=2026.1.1.42
#tool nuget:?package=Novolis.Storage.AzureTables&version=2026.1.1.42
Novolis.Storage.AzureTables
Azure Table Storage IRepository<T> provider. Id is the row key. Queries are OData filters executed by the service, including every continuation page.
Install
dotnet add package Novolis.Storage.AzureTables
Prerequisites: .NET 10 SDK (net10.0). Depends on Azure.Data.Tables and Novolis.Storage.Abstractions.
Quick start
using Microsoft.Extensions.DependencyInjection;
using Novolis.Storage.Abstractions;
using Novolis.Storage.AzureTables;
services.AddStorage(builder => builder.AddAzureTableProvider(o =>
{
o.ConnectionString = connectionString;
}));
var repo = sp.GetRequiredService<IAzureTableRepository<MyEntity>>();
await repo.UpsertAsync(entity, cancellationToken);
await foreach (var match in repo.QueryAsync(e => e.Name == "Ada" && e.Active, cancellationToken))
{
}
Entity types must implement IHasId and have a parameterless constructor. Stored properties are public read/write scalars: string, bool, integer, floating point, Guid, DateTime, DateTimeOffset, and enums.
Queries
TryGetAsync is a point read on PartitionKey + RowKey. QueryAsync and All always include PartitionKey eq 'row' and follow continuation tokens, so a page size never truncates the result.
TableClient.CreateQueryFilter formats values. Row keys are compared as strings (RowKey eq '...'), not guid'...'. String quotes are escaped. Contains, StartsWith, and null comparisons throw NotSupportedException instead of running against one page.
API
| Type | Role |
|---|---|
AzureTableOptions |
ConnectionString, TablePrefix, MaxPerPage |
AzureTableStorageExtensions.AddAzureTableProvider |
Registers TableServiceClient, IRepository<>, IAzureTableRepository<> |
IAzureTableRepository<T>.QueryAsync |
Server-side OData filter with full paging |
AddStorage (from Abstractions) also registers IIdProvider → GuidV7IdProvider and IRepositoryFactory.
Related
| Package | Role |
|---|---|
Novolis.Storage.Abstractions |
IRepository<T>, AddStorage, IHasId |
Novolis.Storage.Sqlite |
Local relational alternative |
Novolis.Storage.InMemory |
Volatile repositories for tests |
More documentation
| 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
- Azure.Data.Tables (>= 12.11.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.12)
- Novolis.Storage.Abstractions (>= 2026.1.1.42)
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 |
|---|---|---|
| 2026.1.1.54 | 80 | 10/5/2026 |
| 2026.1.1.53 | 81 | 10/4/2026 |
| 2026.1.1.52 | 82 | 10/4/2026 |
| 2026.1.1.51 | 86 | 10/4/2026 |
| 2026.1.1.50 | 83 | 10/3/2026 |
| 2026.1.1.49 | 84 | 10/3/2026 |
| 2026.1.1.48 | 80 | 10/3/2026 |
| 2026.1.1.46 | 80 | 10/3/2026 |
| 2026.1.1.45 | 84 | 10/3/2026 |
| 2026.1.1.42 | 100 | 10/3/2026 |