Rask.Query 0.23.1-alpha.0.46

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

Rask.Query

Server state for Rask components — the Rask.Cqrs dispatcher wrapped in a cache: request dedup, staleness, background refetch and invalidation. It is TanStack Query's model in C#, for Rask, a full-stack .NET web framework for teams of any size.

  • Static QueryClient reaches the live session's cache from anywhere a component runs — Render, a property, the constructor or an event handler — with nothing to inject. IQueryClient is the injectable face for code with no component (a hosted service, a test).
  • The message is the key. A query record such as new GetOrders(Page) is its own cache key, so two components asking for the same page share one entry and one round trip.
  • Queries follow their inputs. Declared in Render from a route parameter, a query-string value or a prop, a query re-points itself when that value changes; there is nothing to call.
  • Commands. QueryClient.Command<T>() hands back a Command<T> with IsPending, Error and Status to render, and a command record names what it makes out of date with [Invalidates(typeof(GetOrders))].
  • Writes refresh queries by themselves. A Rask.Data save refetches every query about the types it wrote, on the screen of the session that made it — no invalidation to write.
  • Scoped per live session, so one visitor is never served another's data.
  • SubscriptionsQueryClient.Subscribe: a published CQRS notification re-renders the pages watching it.

Install

dotnet add package Rask.Query

Use

// Program.cs
builder.Services.AddRaskCqrs();
builder.Services.AddRaskQuery();
[Route("/orders")]
public sealed partial class OrdersPage : Component
{
    [QueryParam] public int Page { get; set; } = 1;

    protected override Component? Render()
    {
        var orders = QueryClient.Query(new GetOrders(Page));   // ?page=2 shows page two, by itself

        return orders.IsLoading
            ? P["Loading…"]
            : Ul[orders.Data!.Select(o => Li[o.Number])];
    }
}

Guide: Rask.Query · subscriptions

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.  net11.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Rask.Query:

Package Downloads
Rask

The one reference a Rask application needs, server or browser. On a server target (net10.0 or net11.0) it brings the ASP.NET host plus every battery — database (SQLite, PostgreSQL or SQL Server, picked by Rask:Database:Provider), mediator, background jobs, transactional email, cache, file storage, outbox, operator dashboard, durable logs, Web Push, and SQLite snapshots and continuous backup — with RaskApp.Create(args) as the entry point. On a browser target it brings the WebAssembly host, the source-generated mediator, the query cache and remote dispatch. Everything referenced is wired and on; app.Configure(c => c.Jobs.Off()) is how an app does without one. Reference Rask.Server for a lean host with no database.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.23.1-alpha.0.46 0 9/23/2026
0.23.1-alpha.0.45 0 9/23/2026
0.23.1-alpha.0.43 0 9/23/2026
0.23.1-alpha.0.38 0 9/23/2026
0.23.1-alpha.0.36 0 9/23/2026
0.23.1-alpha.0.35 3 9/23/2026
0.23.1-alpha.0.34 3 9/23/2026
0.23.1-alpha.0.33 41 9/21/2026
0.23.1-alpha.0.30 35 9/21/2026
0.23.1-alpha.0.29 41 9/21/2026
0.23.1-alpha.0.28 49 9/21/2026
0.23.1-alpha.0.27 47 9/21/2026
0.23.1-alpha.0.26 45 9/21/2026
0.23.1-alpha.0.24 44 9/21/2026
0.23.1-alpha.0.23 46 9/21/2026
0.23.1-alpha.0.22 39 9/21/2026
0.23.1-alpha.0.21 47 9/21/2026
0.23.1-alpha.0.20 43 9/21/2026
0.23.1-alpha.0.18 48 9/21/2026
0.23.0 122 9/18/2026
Loading failed