Krasowiki.Tools.SimpleStorage
0.1.1
dotnet add package Krasowiki.Tools.SimpleStorage --version 0.1.1
NuGet\Install-Package Krasowiki.Tools.SimpleStorage -Version 0.1.1
<PackageReference Include="Krasowiki.Tools.SimpleStorage" Version="0.1.1" />
<PackageVersion Include="Krasowiki.Tools.SimpleStorage" Version="0.1.1" />
<PackageReference Include="Krasowiki.Tools.SimpleStorage" />
paket add Krasowiki.Tools.SimpleStorage --version 0.1.1
#r "nuget: Krasowiki.Tools.SimpleStorage, 0.1.1"
#:package Krasowiki.Tools.SimpleStorage@0.1.1
#addin nuget:?package=Krasowiki.Tools.SimpleStorage&version=0.1.1
#tool nuget:?package=Krasowiki.Tools.SimpleStorage&version=0.1.1
Krasowiki.Tools.SimpleTableStorage
Krasowiki.Tools.SimpleTableStorage is a library that simplifies working with Azure Table Storage. It provides convenient tools for integration with DI (ServiceCollection), simplifies CRUD operations, and makes it easy to add new tables to application logic. The library is a wrapper around Azure.Data.Tables.
Features
- Simplified interaction with Azure Table Storage
- Integration with
IServiceCollection - Easy entity model definition
- Convenient table operations using
ISimpleTableClient<>, allowing mockable interactions with Table Storage
Installation
Install the package via NuGet:
Install-Package Krasowiki.Tools.SimpleTableStorage
Usage
Defining Entity Models
Entities can inherit from SimpleTableEntity or implement the standard ITableEntity interface. Using SimpleTableEntity provides ready-to-use fields such as PartitionKey, RowKey, and Timestamp.
using Krasowiki.Tools.SimpleTableStorage;
public class UserEntity : SimpleTableEntity
{
public string Name { get; set; }
public int Age { get; set; }
}
If full control over the model is required, you can implement ITableEntity:
Defining a Table Clients Holder
Create an abstraction for the table clients holder class:
public interface ITableClientsHolder
{
ISimpleTableClient<UserEntity> Users { get; }
TableClient CustomTable { get; }
}
Implement it by storing clients in properties with get and set:
using Krasowiki.Tools.SimpleTableStorage;
using Azure.Data.Tables;
public class TableClientsHolder : ITableClientsHolder
{
public ISimpleTableClient<UserEntity> Users { get; set; }
public TableClient CustomTable { get; set; }
}
Registering in DI
Add Table Storage support to IServiceCollection:
services.AddTableStorageSimply<ITableClientsHolder, TableClientsHolder>("YOUR_STORAGE_ACCOUNT_CONNECTION_STRING");
Using in Code
Access tables through DI:
var serviceProvider = services.BuildServiceProvider();
var tableHolder = serviceProvider.GetRequiredService<ITableClientsHolder>();
var newUser = new UserEntity { PartitionKey = "Users", RowKey = "1", Name = "John Doe", Age = 30 };
await tableHolder.Users.AddEntityAsync(newUser);
Sample Application
The repository contains the Krasowiki.Tools.SimpleTableStorage.SampleApp project, which provides a simple example of how to integrate and use the library.
| 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
- Azure.Data.Tables (>= 12.10.0)
- Microsoft.Extensions.DependencyInjection (>= 9.0.2)
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 |
|---|---|---|
| 0.1.1 | 232 | 3/11/2025 |