ClickhouseAnnouncement
What's new in the ClickHouse .NET Driver: the road from 1.0 to 1.3
Summary
The ClickHouse .NET Driver moved from its 1.0 stable release to versions 1.1–1.3, changing how applications insert, read, and parameterize data while expanding type coverage, configurability, observability, and .NET ecosystem integrations. The largest ergonomic change is registered POCO support: RegisterPocoType() validates mappings up front, pre-compiles getters and setters, and enables InsertBinaryAsync with IEnumerable plus lazy QueryAsync() results through IAsyncEnumerable. Attributes customize column and ClickHouse type mappings, JSON serialization supports POCOs with paths and ignored properties when JsonWriteMode is Binary, and three optional extension points govern parameter type inference, wire formatting, and read conversion. The announced 1.4 roadmap targets allocation reductions, pluggable compression, and box-free POCO operations; version 1.5 is planned to add a Native/TCP client with columnar transfer and server progress information.
Context
The first stable 1.0 release focused on broadening type support, packaging, configuration, observability, and introducing a new primary API separate from the legacy ADO.NET API. Subsequent releases aimed to improve the user experience, extensibility, configurability, type coverage, and .NET ecosystem integrations.
Approach / What changed
Versions 1.1–1.3 added registered POCO workflows for inserts and reads, attribute-based mappings, POCO serialization for JSON columns, and optional extension points for parameter type resolution, wire formatting, and read conversion. The roadmap describes allocation and compression improvements for 1.4 and a Native/TCP client using ClickHouse's columnar data format for 1.5.
Takeaways
RegisterPocoType() validates mappings during registration and supports typed binary inserts and lazy asynchronous queries through IAsyncEnumerable.
POCO mapping is case-sensitive, ignores unmatched result columns, leaves unmatched properties at default values, and does not perform silent type conversions.
The planned 1.4 and 1.5 work includes pluggable compression, box-free POCO operations, and a Native/TCP client with columnar transfer and progress information.
Source and freshness
- Source
- clickhouse.com
- Published
- Added to Yomu
- Last updated
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.