DotNetQuery.Blazor
1.0.0-beta.0
See the version list below for details.
dotnet add package DotNetQuery.Blazor --version 1.0.0-beta.0
NuGet\Install-Package DotNetQuery.Blazor -Version 1.0.0-beta.0
<PackageReference Include="DotNetQuery.Blazor" Version="1.0.0-beta.0" />
<PackageVersion Include="DotNetQuery.Blazor" Version="1.0.0-beta.0" />
<PackageReference Include="DotNetQuery.Blazor" />
paket add DotNetQuery.Blazor --version 1.0.0-beta.0
#r "nuget: DotNetQuery.Blazor, 1.0.0-beta.0"
#:package DotNetQuery.Blazor@1.0.0-beta.0
#addin nuget:?package=DotNetQuery.Blazor&version=1.0.0-beta.0&prerelease
#tool nuget:?package=DotNetQuery.Blazor&version=1.0.0-beta.0&prerelease
DotNet Query
A TanStack Query-inspired async data fetching and state management library for .NET and Blazor.
DotNet Query brings the proven data-fetching patterns of TanStack Query to the .NET ecosystem. It provides a structured, reactive approach to managing asynchronous data, caching, and mutations — removing boilerplate and giving you predictable loading, error, and success states out of the box.
Features
- Queries — fetch async data with automatic caching, background refetching, and stale-while-revalidate semantics
- Mutations — execute data-modifying operations with lifecycle callbacks and automatic cache invalidation
- Reactive state — built on Rx.NET, every query and mutation exposes
IObservablestreams for composable async pipelines - Retry logic — configurable retry strategies with exponential backoff out of the box
- Query deduplication — identical keys share a single cached query instance
- CSR / SSR modes —
QueryExecutionModecontrols singleton (WebAssembly) vs scoped (Server-Side Rendering) lifetime - DI integration — first-class support for
Microsoft.Extensions.DependencyInjection - Blazor components —
<Suspense>and<Transition>components for declarative query rendering in Blazor
Documentation
Full API reference and usage guides are published via docfx and available at (link TBD).
Developer Documentation
Prerequisites
| Tool | Version |
|---|---|
| .NET SDK | 10.0 (see global.json) |
| CSharpier | 1.2.6 (installed as local tool) |
A Nix flake is provided for reproducible dev environments. With direnv installed, run direnv allow in the repo root to activate it automatically.
Getting Started
# Restore tools and packages
dotnet tool restore
dotnet restore
# Build
dotnet build
# Run tests
dotnet test
# Check formatting
dotnet csharpier check .
Project Structure
src/
DotNetQuery.Core/ Core interfaces and implementations
DotNetQuery.Blazor/ Blazor components (Suspense, Transition)
DotNetQuery.Extensions.DependencyInjection/ DI extension methods
tests/
DotNetQuery.Core.Tests/
DotNetQuery.Extensions.DependencyInjection.Tests/
CI / CD
The build pipeline runs on every push and pull request to main:
- Restore tools and packages
- CSharpier format check
- Release build
- Tests with code coverage (Cobertura)
- Coverage upload to Codecov
Dependency updates are managed automatically via Dependabot (weekly, for NuGet and GitHub Actions).
License
MIT — Copyright (c) 2026 Patrick Sachmann
| Product | Versions 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. |
-
net10.0
- DotNetQuery.Core (>= 1.0.0-beta.0)
- Microsoft.AspNetCore.Components.Web (>= 10.0.5)
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 |
|---|---|---|
| 1.2.0 | 89 | 5/27/2026 |
| 1.1.0 | 95 | 5/21/2026 |
| 1.0.0 | 88 | 5/20/2026 |
| 1.0.0-beta.10 | 50 | 5/19/2026 |
| 1.0.0-beta.9 | 64 | 4/14/2026 |
| 1.0.0-beta.8 | 63 | 4/11/2026 |
| 1.0.0-beta.7 | 56 | 4/11/2026 |
| 1.0.0-beta.6 | 53 | 4/11/2026 |
| 1.0.0-beta.5 | 50 | 4/11/2026 |
| 1.0.0-beta.4 | 51 | 4/11/2026 |
| 1.0.0-beta.3 | 75 | 4/10/2026 |
| 1.0.0-beta.2 | 56 | 4/10/2026 |
| 1.0.0-beta.0 | 57 | 4/10/2026 |
| 0.0.0-alpha.0.11 | 103 | 3/28/2026 |
| 0.0.0-alpha.0.10 | 100 | 3/28/2026 |