SoftwareExtravaganza.Whizbang.Data.Postgres
0.10.2-alpha.3
See the version list below for details.
dotnet add package SoftwareExtravaganza.Whizbang.Data.Postgres --version 0.10.2-alpha.3
NuGet\Install-Package SoftwareExtravaganza.Whizbang.Data.Postgres -Version 0.10.2-alpha.3
<PackageReference Include="SoftwareExtravaganza.Whizbang.Data.Postgres" Version="0.10.2-alpha.3" />
<PackageVersion Include="SoftwareExtravaganza.Whizbang.Data.Postgres" Version="0.10.2-alpha.3" />
<PackageReference Include="SoftwareExtravaganza.Whizbang.Data.Postgres" />
paket add SoftwareExtravaganza.Whizbang.Data.Postgres --version 0.10.2-alpha.3
#r "nuget: SoftwareExtravaganza.Whizbang.Data.Postgres, 0.10.2-alpha.3"
#:package SoftwareExtravaganza.Whizbang.Data.Postgres@0.10.2-alpha.3
#addin nuget:?package=SoftwareExtravaganza.Whizbang.Data.Postgres&version=0.10.2-alpha.3&prerelease
#tool nuget:?package=SoftwareExtravaganza.Whizbang.Data.Postgres&version=0.10.2-alpha.3&prerelease
<p align="center"> <img alt="Whizbang — One Runtime. Any Store. Every Message." src="assets/hero-banner.svg" width="100%"> </p>
<p align="center"> <a href="https://whizba.ng/">Documentation</a> · <a href="https://www.nuget.org/packages/Whizbang.Core/">NuGet</a> · <a href="CONTRIBUTING.md">Contributing</a> </p>
<p align="center"> <a href="https://github.com/whizbang-lib/whizbang/actions/workflows/ci.yml"><img src="https://github.com/whizbang-lib/whizbang/actions/workflows/ci.yml/badge.svg" alt="CI"></a> <a href="https://codecov.io/gh/whizbang-lib/whizbang"><img src="https://codecov.io/gh/whizbang-lib/whizbang/branch/main/graph/badge.svg" alt="codecov"></a> <a href="https://sonarcloud.io/dashboard?id=whizbang-lib_whizbang"><img src="https://sonarcloud.io/api/project_badges/measure?project=whizbang-lib_whizbang&metric=alert_status" alt="Quality Gate Status"></a> <a href="https://www.nuget.org/packages/Whizbang.Core/"><img src="https://img.shields.io/nuget/v/Whizbang.Core.svg" alt="NuGet"></a> <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a> </p>
<p align="center"> <a href="https://github.com/whizbang-lib/whizbang/actions/workflows/security-secrets.yml"><img src="https://github.com/whizbang-lib/whizbang/actions/workflows/security-secrets.yml/badge.svg" alt="Secret Scanning"></a> <a href="https://github.com/whizbang-lib/whizbang/actions/workflows/security-supply-chain.yml"><img src="https://github.com/whizbang-lib/whizbang/actions/workflows/security-supply-chain.yml/badge.svg" alt="Supply Chain"></a> <a href="https://securityscorecards.dev/viewer/?uri=github.com/whizbang-lib/whizbang"><img src="https://api.securityscorecards.dev/projects/github.com/whizbang-lib/whizbang/badge" alt="OSSF Scorecard"></a> </p>
<p align="center"> <a href="https://codecov.io/gh/whizbang-lib/whizbang"><img src="https://codecov.io/gh/whizbang-lib/whizbang/graphs/sunburst.svg?token=F1AZXLI2MM" alt="Codecov Sunburst" width="200"></a> </p>
<h3 align="center"><a href="https://whizba.ng">Read the full documentation at whizba.ng</a></h3>
Why Whizbang?
- Blazing Performance — < 20ns in-process message dispatch with zero allocations on the hot path
- Native AOT from Day One — Source generators wire everything at compile time; no reflection, no runtime surprises
- Type Safe — Compile-time verification of message handlers, routing, and event schemas
- Developer Experience — Rich IDE support with code navigation, diagnostics, and discovery via source generators
Core Concepts
Receptors — Stateless message handlers that receive commands and produce events. Type-safe with flexible response types.
Dispatcher — Message routing engine that connects messages to receptors with full observability (correlation, causation, hops).
Perspectives — Materialized read models built from event streams. Individually hash-tracked for incremental migration.
Lenses — Composable query projections over perspective data with LINQ translation to SQL.
Event Store — Append-only event storage with stream-based organization, UUIDv7 ordering, and optimistic concurrency.
Policy Engine — Declarative rules for message validation, transformation, and routing decisions.
Project Structure
src/
├── Whizbang.Core/ # Core interfaces, messaging, perspectives, lenses
├── Whizbang.Generators/ # Roslyn source generators (receptors, perspectives, registry)
├── Whizbang.Data.Dapper.Postgres/ # Dapper + PostgreSQL stores (event store, work coordinator)
├── Whizbang.Data.EFCore.Postgres/ # EF Core + PostgreSQL stores with turnkey initialization
├── Whizbang.Data.EFCore.Postgres.Generators/ # EF Core source generators (schema, registration)
├── Whizbang.Transports.RabbitMQ/ # RabbitMQ transport
├── Whizbang.Transports.AzureServiceBus/ # Azure Service Bus transport
├── Whizbang.Transports.HotChocolate/ # GraphQL integration via HotChocolate
├── Whizbang.Transports.FastEndpoints/ # REST integration via FastEndpoints
├── Whizbang.SignalR/ # Real-time push via SignalR
├── Whizbang.Observability/ # Metrics and tracing
├── Whizbang.Testing/ # Test utilities and fakes
└── Whizbang.Hosting.*/ # Hosted service wiring for transports
Technology Stack
- .NET 10 — Target framework
- PostgreSQL — Primary database with JSONB, UUIDv7, and hash-based schema migration
- EF Core 10 / Dapper — Dual data access with source-generated models
- Roslyn Source Generators — Compile-time wiring for receptors, perspectives, and DI registration
- TUnit — Source-generated testing with Microsoft.Testing.Platform
- Rocks — Source-generated mocking for AOT compatibility
- Vogen — Source-generated value objects
Getting Started
dotnet add package SoftwareExtravaganza.Whizbang.Core
See the Quick Start guide for a walkthrough.
Philosophy
- Zero Reflection — Everything via source generators
- AOT Compatible — Native AOT from day one
- Type Safe — Compile-time safety everywhere
- Test Driven — 21,000+ tests with comprehensive coverage
- Documentation First — Docs drive implementation
Contributing
See CONTRIBUTING.md for guidelines.
License
| 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
- Npgsql (>= 10.0.1)
- SoftwareExtravaganza.Whizbang.Core (>= 0.10.2-alpha.3)
- SoftwareExtravaganza.Whizbang.Data.Schema (>= 0.10.2-alpha.3)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on SoftwareExtravaganza.Whizbang.Data.Postgres:
| Package | Downloads |
|---|---|
|
SoftwareExtravaganza.Whizbang.Data.EFCore.Postgres
PostgreSQL Entity Framework Core integration for Whizbang with source-generated configuration. |
|
|
SoftwareExtravaganza.Whizbang.Data.Dapper.Postgres
PostgreSQL event store and work coordinator implementation using Dapper for high-performance data access. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.10.3-alpha.17 | 0 | 3/21/2026 |
| 0.10.2-alpha.3 | 48 | 3/20/2026 |
| 0.9.11-alpha.54 | 21 | 3/20/2026 |
| 0.9.10-alpha.49 | 42 | 3/20/2026 |
| 0.9.10-alpha.47 | 59 | 3/19/2026 |
| 0.9.9-alpha.30 | 139 | 3/18/2026 |
| 0.9.8-alpha.26 | 104 | 3/17/2026 |
| 0.9.8-alpha.21 | 44 | 3/17/2026 |
| 0.9.6-alpha.71 | 134 | 3/15/2026 |
| 0.9.6-alpha.52 | 41 | 3/13/2026 |
| 0.9.6-alpha.49 | 133 | 3/13/2026 |
| 0.9.6-alpha.46 | 51 | 3/12/2026 |
| 0.9.6-alpha.16 | 46 | 3/12/2026 |
| 0.9.6-alpha.13 | 99 | 3/12/2026 |
| 0.9.6-alpha.4 | 57 | 3/12/2026 |
| 0.9.4 | 136 | 3/10/2026 |
| 0.9.3 | 211 | 3/7/2026 |
| 0.9.2-alpha.1 | 72 | 3/7/2026 |
| 0.9.1-alpha.2 | 41 | 3/7/2026 |
| 0.9.0-alpha.119 | 47 | 3/4/2026 |