Vorn.Entities.Server 9.1.2

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

Vorn.Entities.Server

This package adapts the core entity management abstractions to SignalR. It ships a typed hub base, EF Core configuration helpers, and notification relays so real-time clients see the same CRUD surface as REST consumers.

Install

dotnet add package Vorn.Entities.Server

Add Vorn.Entities for the core entities and Vorn.Entities.SignalR.Client if you plan to build clients.

Register services

builder.Services.AddSignalR();
builder.Services.AddVornEntityManagement();      // generated or manual registration of handlers/caches
builder.Services.AddSingleton<IEntityUserService, HttpContextEntityUserService>();
builder.Services.AddSingleton<IEntityTimeService, EntityTimeService>();
builder.Services.AddTransient<INotificationHandler<EntityNotificationCore>, EntityNotificationHandler>();

EntityNotificationHandler listens for persistence notifications and relays them to every connected client through the hub.

Configure EF Core

public sealed class AppDbContext(DbContextOptions<AppDbContext> options)
    : DbContext(options)
{
    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);

        modelBuilder
            .ConfigureEntityDateTimeOffsetConversions()
            .ConfigureEntitySoftDeleteFilters();
    }
}

The extensions align your schema with the expectations of the Entity base type (UTC timestamps, soft deletes).

Create a hub

public sealed class DocumentHub(DocumentService service, IEntityUserService users)
    : EntityServer<DocumentDto, DocumentDescriptorDto, DocumentService>(service, users)
{ }

app.MapHub<DocumentHub>("/hubs/documents");

The base class exposes every CRUD method (AddAsync, UpdateAsync, GetListAsync, RemoveByIdAsync, paging, counts, etc.) and forwards caller context through IEntityUserService.

Emit notifications from elsewhere

Inject IHubContext<DocumentHub> (or the generic base) when background jobs need to notify clients:

public sealed class DocumentNotificationPublisher(IHubContext<DocumentHub> hub)
{
    public Task PublishAsync(DocumentDto dto)
        => hub.Clients.All.SendAsync(EntityServerMethods.EntityChanged, dto);
}

The constant EntityServerMethods.EntityChanged matches what the client base subscribes to.

Tips

  • Override hub methods if you need additional validation or want to extend the contract—call await base.AddAsync(...) to keep the default behavior.
  • Group hubs per aggregate and use SignalR groups to scope notifications to tenants or contexts.
  • Pair with the client package to get automatic reconnection, error handling, and notification processing on the UI.
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
9.1.2 384 11/16/2025
9.1.1 167 11/15/2025
9.0.2 242 11/10/2025
9.0.1 137 11/9/2025
9.0.0 190 11/5/2025
8.8.0 191 11/2/2025
8.7.1 192 10/29/2025
8.7.0 182 10/27/2025
8.6.2 182 10/27/2025
8.6.1 145 10/25/2025
8.6.0 128 10/25/2025
8.6.0-rc4 127 10/25/2025
8.6.0-rc3 154 10/24/2025
8.6.0-rc2 190 10/23/2025
8.6.0-rc1 186 10/20/2025
8.5.1 109 10/18/2025
8.5.0 121 10/18/2025
8.4.2 169 10/16/2025
8.4.1 168 10/16/2025
8.4.0 161 10/16/2025
8.3.5 165 10/15/2025
8.3.4 167 10/15/2025
8.3.3 171 10/15/2025
8.3.1 156 10/14/2025
8.3.0 153 10/14/2025
8.3.0-rc4 163 10/14/2025
8.3.0-rc3 157 10/13/2025
8.3.0-rc2 154 10/13/2025
8.3.0-rc1 179 10/13/2025
8.2.0-rc9.1 132 10/13/2025
8.2.0-rc3 147 10/12/2025
8.2.0-rc10 173 10/13/2025
8.2.0-rc1 102 10/11/2025
5.0.1-preview.0.1 136 10/8/2025