ClickHouse.Driver 0.9.0

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

ClickHouse C# client

About

Official C#/ADO.NET client for ClickHouse.

  • High performance
  • Supports bulk insertion
  • Uses compressed binary protocol over HTTP(S)
  • Available for .NET Core/Framework/Standard

Documentation

See the ClickHouse website for full documentation.

Usage examples

We have a wide range of examples, aiming to cover typical scenarios of client usage.

ClickHouse Versions

The supported versions ofthe ClickHouse database server coincide with the versions currently receiving security updates.

For the list of currently supported versions, see here.

Contact us

If you have any questions or need help, feel free to reach out to us in the Community Slack or via GitHub issues.

Contributing

Contributions are welcome and highly appreciated! Check out our contributing guide.

Acknowledgements

Originally created by Oleg V. Kozlyuk

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  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 is compatible.  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 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. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
.NET Framework net462 is compatible.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 is compatible.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (6)

Showing the top 5 NuGet packages that depend on ClickHouse.Driver:

Package Downloads
EntityFrameworkCore.ClickHouse

ClickHouse provider for Entity Framework Core.

FreeSql.Provider.ClickHouse

FreeSql 数据库实现,基于 ClickHouse.Client Ado.net

linq2db.LINQPad

Supported databases: IBM DB2 LUW/zOS, Firebird, IBM Informix, Microsoft Access, Microsoft Sql Server (+Azure), Microsoft Sql Server Compact, MySql, MariaDB, Oracle, PostgreSQL, SQLite, SAP HANA, SAP/Sybase ASE, ClickHouse.

ClickHouse.Facades

Raw SQL migrations and contexts for ClickHouse

Sitko.Core.ClickHouse

Sitko.Core is a set of libraries to help build .NET Core applications fast

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on ClickHouse.Driver:

Repository Stars
linq2db/linq2db
Linq to database provider.
Version Downloads Last Updated
0.9.0 2,067 12/3/2025
0.8.1 2,929 11/19/2025
0.8.0 453 11/19/2025
0.7.20 68,692 8/19/2025
0.7.19 6,451 8/13/2025
0.7.18 2,454 8/2/2025

v0.9.0
---

**Breaking Changes:**
* FixedString is now returned as byte[] rather than String. FixedStrings are not necessarily valid UTF-8 strings, and the string transformation caused loss of information in some cases. Use Encoding.UTF8.GetString() on the resulting byte[] array to emulate the old behavior. String can still be used as a parameter or when inserting using BulkCopy into a FixedString column. When part of a json object, FixedString is still returned as a string.
* Removed obsolete MySQL compatibility mapping TIME -> Int64.
* Json serialization of bool arrays now uses the Boolean type instead of UInt8 (it is now consistent with how bool values outside arrays were handled).
* GEOMETRY is no longer an alias for String.

**New Features/Improvements:**
* Sessions can now be used with custom HttpClient or HttpClientFactory. Previously this combination was not allowed. Note that when sessions are enabled, ClickHouseConnection will allow only one request at a time, and responses are fully buffered before returning to ensure proper request serialization.
* Added support for BFloat16. It is converted to and from a 32-bit float.
* Added support for Time and Time64, which are converted to and from TimeSpan. The types are available since ClickHouse 25.6 and using them requires the enable_time_time64_type flag to be set.
* The Dynamic type now offers full support for all underlying types.
* Added support for LineString and MultiLineString geo types.
* Added support for the Geometry type, which can hold any geo subtype (Point, Ring, LineString, Polygon, MultiLineString, MultiPolygon). Available since ClickHouse 25.11. Requires allow_suspicious_variant_types to be set to 1.
* Json support has been improved in many ways:
  * Now supports parsing Json that includes Maps; they are read into JsonObjects.
  * Added support for decoding BigInteger types, UUID, IPv4, IPv6, and ClickHouseDecimal types (they are handled as strings).
  * Expanded binary parsing to cover all types.
  * Improved handling of numeric types when writing Json using BulkCopy: now properly detects and preserves Int32/In64 in addition to double (previously all numeric types were handled as double).
  * Parsing null values in arrays is now handled properly.
* ClickHouseConnection.ConnectionString can now be set after creating the connection, to support cases where passing the connection string to the constructor is not possible.
* ClickHouseConnection.CreateCommand() now has an optional argument for the command text.
* Fixed a NullReferenceException when adding a parameter with null value and no provided type. The driver now simply sends '\N' (null value special character) when encountering this scenario.

**Bug Fixes:**
* Fixed a bug where serializing to json with an array of bools with both true and false elements would fail.