IBeam.Repositories 2.9.0

dotnet add package IBeam.Repositories --version 2.9.0
                    
NuGet\Install-Package IBeam.Repositories -Version 2.9.0
                    
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="IBeam.Repositories" Version="2.9.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="IBeam.Repositories" Version="2.9.0" />
                    
Directory.Packages.props
<PackageReference Include="IBeam.Repositories" />
                    
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 IBeam.Repositories --version 2.9.0
                    
#r "nuget: IBeam.Repositories, 2.9.0"
                    
#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 IBeam.Repositories@2.9.0
                    
#: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=IBeam.Repositories&version=2.9.0
                    
Install as a Cake Addin
#tool nuget:?package=IBeam.Repositories&version=2.9.0
                    
Install as a Cake Tool

IBeam.Repositories

IBeam.Repositories contains the core repository contracts and base implementations used by IBeam services.

dotnet add package IBeam.Repositories

When To Use This

  • You are building an IBeam service and need a clean persistence boundary.
  • You want CRUD, archive, soft-delete, and tenant-aware conventions.
  • You want services to depend on repository abstractions instead of a specific database provider.
  • You are implementing a new repository provider for Azure Tables, SQL, OrmLite, EF, or another store.

What This Package Contains

Area Type(s) Purpose
Entity contracts IEntity, ITenantEntity, IArchivableEntity, IDeletableEntity, IAllowHardDelete Defines common persistence fields and behavior.
Repository contracts IRepositoryStore<T>, IBaseRepository<T>, IBaseRepositoryAsync<T>, IArchivableRepositoryAsync<T> Standard CRUD/archive interfaces used by service layers.
Base repositories BaseRepository<T>, BaseRepositoryAsync<T> Shared repository behavior over a backing IRepositoryStore<T>.
Tenant context ITenantContext, TenantContext Carries tenant identity into repository calls.
Options RepositoryOptions Controls cache, ID generation, and soft-delete behavior.
Errors repository exception types Provides consistent validation/system failure behavior.
Batching batch action models Gives providers a common way to submit grouped changes.

Architecture Fit

API <-- DTO/model object --> Service <-- Entity --> Repository

Repositories only manage one entity type. They should not call other repositories, enforce business permissions, write audit logs directly, or hydrate DTOs with external lookup data. That work belongs in the service layer.

Code Example

public sealed class Product : IEntity, ITenantEntity, IArchivableEntity, IDeletableEntity
{
    public Guid Id { get; set; }
    public Guid TenantId { get; set; }
    public string Name { get; set; } = string.Empty;
    public bool IsArchived { get; set; }
    public bool IsDeleted { get; set; }
}

public sealed class ProductService
{
    private readonly IBaseRepositoryAsync<Product> _products;

    public ProductService(IBaseRepositoryAsync<Product> products)
    {
        _products = products;
    }

    public Task<Product?> GetAsync(Guid productId, CancellationToken ct)
        => _products.GetByIdAsync(productId, ct: ct);
}

Repository Options

Setting Default Purpose
EnableCache true Allows repository implementations to use cache where supported.
IdGeneratedByRepository false When true, repositories may generate Guid IDs for new entities.
DisableSoftDelete false When true, delete behavior may hard-delete instead of using IsDeleted.

Data Storage

This package does not create tables, containers, or database schema. Physical storage comes from provider packages.

Provider Package Storage Type Notes
IBeam.Repositories.AzureTables Azure Table Storage Generic repository table provider.
IBeam.Repositories.OrmLite Relational databases through ServiceStack OrmLite SQL-backed repository provider.

Service Operations, Auditing, And Permissions

Repositories are below the service boundary. Permission checks and audit logging should wrap service calls, not raw repository calls. This keeps the service layer as the all-knowing gatekeeper for rules, logging, errors, and orchestration.

Extended Docs And Agent Guidance

Agents should keep repository code entity-focused and avoid circular service/repository dependencies.

Version Notes

  • Targets net10.0.
  • Package version is assigned by the repository release workflow.
Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (5)

Showing the top 5 NuGet packages that depend on IBeam.Repositories:

Package Downloads
IBeam.Utilities

Cross-cutting primitives and helpers used across the stack. Provides shared types for consistent error handling and auditing, plus small utilities that keep other packages lean and focused.

IBeam.Services

Root services package that aggregates abstractions and core service implementations.

IBeam.Repositories.AzureTables

IBeam modular framework components for .NET APIs and services.

IBeam.Services.Logging

IBeam modular framework components for .NET APIs and services.

IBeam.Repositories.OrmLite

IBeam modular framework components for .NET APIs and services.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.9.0 0 7/21/2026
2.8.2 0 7/21/2026
2.8.1 0 7/21/2026
2.8.0 0 7/21/2026
2.7.0 42 7/21/2026
2.6.0 87 7/20/2026
2.5.0 174 7/17/2026
2.4.2 139 7/16/2026
2.4.1 176 7/14/2026
2.4.0 205 6/24/2026
2.3.0 199 6/24/2026
2.2.0 210 6/23/2026
2.1.0 196 6/23/2026
2.0.68 197 6/23/2026
2.0.66 192 6/22/2026
2.0.65 198 6/22/2026
2.0.64 253 6/17/2026
2.0.63 203 6/16/2026
2.0.62 200 6/16/2026
2.0.57 313 6/8/2026
Loading failed