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 415 11/16/2025
9.1.1 199 11/15/2025
9.0.2 268 11/10/2025
9.0.1 170 11/9/2025
9.0.0 219 11/5/2025
8.8.0 219 11/2/2025
8.7.1 220 10/29/2025
8.7.0 212 10/27/2025
8.6.2 212 10/27/2025
8.6.1 175 10/25/2025
8.6.0 158 10/25/2025
8.6.0-rc4 164 10/25/2025
8.6.0-rc3 184 10/24/2025
8.6.0-rc2 226 10/23/2025
8.6.0-rc1 219 10/20/2025
8.5.1 135 10/18/2025
8.5.0 149 10/18/2025
8.4.2 202 10/16/2025
8.4.1 194 10/16/2025
8.4.0 183 10/16/2025
Loading failed