C#¶
Connect to CrateDB from C# .NET applications.
About
Npgsql is an open-source ADO.NET Data Provider for PostgreSQL, for programs written in C#, F#, or Visual Basic.
Synopsis
example.csproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net$(NETCoreAppMaximumVersion)</TargetFramework>
<GenerateProgramFile>false</GenerateProgramFile>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Npgsql" Version="10.0.0-rc.1" />
</ItemGroup>
</Project>
example.cs
using Npgsql;
using System;
// Connect to database.
var connString = "Host=localhost;Port=5432;Username=crate;Password=crate;Sslmode=disable";
var dataSourceBuilder = new NpgsqlDataSourceBuilder(connString);
var dataSource = dataSourceBuilder.Build();
var conn = dataSource.OpenConnection();
// Invoke basic query.
var cmd = new NpgsqlCommand("SELECT mountain, height FROM sys.summits ORDER BY height DESC LIMIT 3", conn);
// Display results.
var reader = cmd.ExecuteReader();
while (reader.Read())
Console.WriteLine($"{reader.GetString(0)}: {reader.GetInt32(1)}");
Start CrateDB using Docker or Podman, then invoke the example program.
docker run --rm --publish=5432:5432 docker.io/crate '-Cdiscovery.type=single-node'
export DOTNET_CLI_TELEMETRY_OPTOUT=true
dotnet run
SSL connection
Use the Sslmode=require parameter, and replace username, password,
and hostname with values matching your environment.
Also use this variant to connect to CrateDB Cloud.
var connString = "Host=testcluster.cratedb.net;Port=5432;Username=admin;Password=password;Sslmode=require";
Examples¶
Connect to CrateDB and CrateDB Cloud using .NET (C#)
Connect to CrateDB and CrateDB Cloud using the Npgsql Entity Framework