.NET Client Documentation

QuestDB supports the .NET ecosystem with its dedicated .NET client, engineered for high-throughput data ingestion, focusing on insert-only operations.

This quick start guide aims to familiarize you with the fundamental features of the .NET client, including how to establish a connection, authenticate, and perform basic insert operations.


Please note that the .NET client has not yet been updated to support HTTP.

As such, it relies on TCP and has limitations compared to clients which do support HTTP.


Client installation

Install the QuestDB .NET client via npm:

dotnet add package net-questdb-client --version <version>

Basic Usage

Connect to QuestDB, insert some data into a table, and flush the data:

using var ls = await LineTcpSender.ConnectAsync("localhost", 9009, tlsMode: TlsMode.Disable);
.Symbol("Symbol", "value")
.Column("number", 10)
.Column("double", 12.23)
.Column("string", "born to shine")
.At(new DateTime(2021, 11, 25, 0, 46, 26));
await ls.SendAsync();

Basic usage with auth

An example of authentication:

using var ls = await LineTcpSender.ConnectAsync("localhost", 9009);
await ls.Authenticate("admin", "NgdiOWDoQNUP18WOnb1xkkEG5TzPYMda5SiUOvT1K0U=");
.Column("counter", i)
await ls.SendAsync();

Next Steps

Dive deeper into the .NET client capabilities by exploring more examples provided in the GitHub repository.

To learn The Way of QuestDB SQL, see the Query & SQL Overview.

Should you encounter any issues or have questions, the active community Slack is a vibrant platform for discussions.