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
                    
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="Krasowiki.Tools.SimpleStorage" Version="0.1.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Krasowiki.Tools.SimpleStorage" Version="0.1.1" />
                    
Directory.Packages.props
<PackageReference Include="Krasowiki.Tools.SimpleStorage" />
                    
Project file
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 Krasowiki.Tools.SimpleStorage --version 0.1.1
                    
#r "nuget: Krasowiki.Tools.SimpleStorage, 0.1.1"
                    
#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 Krasowiki.Tools.SimpleStorage@0.1.1
                    
#: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=Krasowiki.Tools.SimpleStorage&version=0.1.1
                    
Install as a Cake Addin
#tool nuget:?package=Krasowiki.Tools.SimpleStorage&version=0.1.1
                    
Install as a Cake Tool

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 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.

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