Aicrosoft.DataAccess.AzureTable
8.0.0-beta.260130.2
This is a prerelease version of Aicrosoft.DataAccess.AzureTable.
dotnet add package Aicrosoft.DataAccess.AzureTable --version 8.0.0-beta.260130.2
NuGet\Install-Package Aicrosoft.DataAccess.AzureTable -Version 8.0.0-beta.260130.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Aicrosoft.DataAccess.AzureTable" Version="8.0.0-beta.260130.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Aicrosoft.DataAccess.AzureTable" Version="8.0.0-beta.260130.2" />
<PackageReference Include="Aicrosoft.DataAccess.AzureTable" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Aicrosoft.DataAccess.AzureTable --version 8.0.0-beta.260130.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Aicrosoft.DataAccess.AzureTable, 8.0.0-beta.260130.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Aicrosoft.DataAccess.AzureTable@8.0.0-beta.260130.2
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Aicrosoft.DataAccess.AzureTable&version=8.0.0-beta.260130.2&prerelease
#tool nuget:?package=Aicrosoft.DataAccess.AzureTable&version=8.0.0-beta.260130.2&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Aicrosoft.DataAccess.AzureTable
Aicrosoft.DataAccess.AzureTable is a lightweight repository-based abstraction layer over the official Azure Data Tables SDK. It provides a standardized way to interact with Azure Table Storage using the Repository pattern, simplifying entity management and service registration within the Aicrosoft framework.
Design Goals
- Repository Pattern for NoSQL: Adapt the familiar Repository pattern to Azure Table Storage, offering a consistent API for CRUD operations.
- Simplified Entity Definition: Provide
TableEntityBaseto handle mandatoryITableEntityproperties likePartitionKey,RowKey, andETag. - Convention-Based Table Naming: Automatically derive table names from entity type names (e.g.,
UserEntitymaps to a table namedUser). - Automated Infrastructure: Ensure tables are created automatically (
CreateIfNotExists) when the repository is initialized. - Clean DI Integration: Offer easy-to-use extension methods for registering repositories in the .NET Dependency Injection container.
Key Features
ITableRepository<T>: A generic interface for asynchronousAdd,Get,Update,Delete, andGetAlloperations.TableEntityBase: An abstract base class that implementsITableEntityand provides built-in concurrency support viaETag.AzureTableExtensions: DI extensions to register entities with their corresponding connection strings.
Usage
1. Installation
Reference the Aicrosoft.DataAccess.AzureTable package in your project.
2. Define an Entity
Inherit from TableEntityBase:
using Aicrosoft.DataAccess.Data;
public class LogEntity : TableEntityBase
{
public string Message { get; set; }
public string Level { get; set; }
}
3. Register the Repository
In your Program.cs or service configuration:
using Microsoft.Extensions.DependencyInjection;
// Registers ITableRepository<LogEntity> as a Singleton
services.RegisterToAzureTable<LogEntity>("UseDevelopmentStorage=true");
4. Inject and Use
public class MyService
{
private readonly ITableRepository<LogEntity> _repo;
public MyService(ITableRepository<LogEntity> repo)
{
_repo = repo;
}
public async Task SaveLog(string msg)
{
var entity = new LogEntity
{
PartitionKey = "System",
RowKey = Guid.NewGuid().ToString(),
Message = msg,
Level = "Info"
};
await _repo.AddAsync(entity);
}
}
Important Notes
- Concurrency:
UpdateAsyncusesETag.Allby default if not specified, otherwise it respects theETagon the entity for optimistic concurrency control. - Naming: The library automatically strips the "Entity" suffix from your class name to determine the Azure Table name. For example,
MyDataEntitywill target a table namedMyData. - Table Creation: The repository calls
CreateIfNotExists()upon instantiation, so there's no need to manually create tables in the portal beforehand.
Related Projects
Aicrosoft.Extensions.Hosting: For base DI support.Aicrosoft.DataAccess.Abstractions: For shared data contracts.
| 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- Aicrosoft.DataAccess.Abstractions (>= 8.0.0-beta.260130.2)
- Aicrosoft.Extensions.Hosting (>= 8.0.0-beta.260130.2)
- Azure.Data.Tables (>= 12.11.0)
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 |
|---|---|---|
| 8.0.0-beta.260130.2 | 85 | 1/30/2026 |
| 8.0.0-beta.260127.1 | 74 | 1/27/2026 |
| 8.0.0-beta.251110.1 | 222 | 11/10/2025 |