nextorm.clickhouse
1.0.9
dotnet add package nextorm.clickhouse --version 1.0.9
NuGet\Install-Package nextorm.clickhouse -Version 1.0.9
<PackageReference Include="nextorm.clickhouse" Version="1.0.9" />
<PackageVersion Include="nextorm.clickhouse" Version="1.0.9" />
<PackageReference Include="nextorm.clickhouse" />
paket add nextorm.clickhouse --version 1.0.9
#r "nuget: nextorm.clickhouse, 1.0.9"
#:package nextorm.clickhouse@1.0.9
#addin nuget:?package=nextorm.clickhouse&version=1.0.9
#tool nuget:?package=nextorm.clickhouse&version=1.0.9
Nextorm — ClickHouse provider
nextorm.clickhouse adds ClickHouse support to Nextorm — a
zero-SQL object-relational mapper for .NET that turns typed C# queries into SQL and materializes rows
without change tracking. The package supplies the ClickHouse dialect, ClickHouse-only fluent members and
the UseClickHouse builder extension over the official ClickHouse.Driver.
Installation
All current nextorm releases are prereleases, so --prerelease is required:
dotnet add package nextorm --prerelease
dotnet add package nextorm.clickhouse --prerelease
Package Manager Console: Install-Package nextorm -Prerelease and
Install-Package nextorm.clickhouse -Prerelease.
Usage
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using NextORM.Core;
using NextORM.ClickHouse;
var builder = new DataContextBuilder()
.UseClickHouse("Host=localhost;Port=8123;Database=app;Username=default;Password=secret");
using var dataContext = builder.CreateDataContext();
await foreach (var row in dataContext.From<IOrder>()
.Where(order => order.Total > 100)
.Select(order => new { order.Id, order.Total })
.ToAsyncEnumerable())
{
Console.WriteLine($"{row.Id}: {row.Total}");
}
[SqlTable("orders")]
public interface IOrder
{
[Key]
[Column("id")]
int Id { get; set; }
[Column("total")]
decimal Total { get; set; }
}
Values are bound as @name parameters, which the driver rewrites to ClickHouse's native
{name:Type} form; identifiers are backtick-quoted. UseClickHouse also accepts an open DbConnection.
Good to know
- The ClickHouse-only fluent members —
Final,PreWhere,Settings,Sample,LimitBy,WithTotals,ArrayJoin/LeftArrayJoin, the semi/anti/paste joins andj => j.Global()— ship in this package as extension methods: addusing NextORM.ClickHouse;. - There are no transactions, no statement batches and no stored procedures; ClickHouse rejects them.
SelectWhereMax/SelectWhereMinmap to nativeargMin/argMax, and bulk insert uses the portableINSERT … VALUESpath.
Documentation
- Connecting a provider: ClickHouse
- Quickstart
- Query reuse: plan cache vs
Prepare() - Comparisons and benchmarks
Status
Beta: every release so far is a prerelease, the public API still changes between them, and backward compatibility is not preserved yet. Release notes are on GitHub Releases.
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. net11.0 is compatible. |
-
net10.0
- ClickHouse.Driver (>= 1.5.0)
- nextorm (>= 1.0.9)
-
net11.0
- ClickHouse.Driver (>= 1.5.0)
- nextorm (>= 1.0.9)
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.0.9 | 84 | 11/11/2026 |
| 1.0.9-rc5 | 56 | 11/8/2026 |
| 1.0.9-rc4 | 77 | 10/29/2026 |
| 1.0.9-rc3 | 118 | 10/20/2026 |
| 1.0.9-rc2 | 136 | 10/10/2026 |
| 1.0.9-rc1 | 68 | 10/7/2026 |
| 1.0.9-b | 80 | 10/5/2026 |
| 1.0.9-a | 75 | 9/29/2026 |
| 1.0.8-b | 143 | 9/27/2026 |
| 1.0.7-b | 78 | 9/25/2026 |
| 1.0.6-alpha | 69 | 9/25/2026 |
| 1.0.5-alpha | 88 | 9/24/2026 |
| 1.0.4-alpha | 101 | 9/22/2026 |
| 1.0.3.1-alpha | 74 | 9/22/2026 |
| 1.0.3-alpha | 78 | 9/21/2026 |