You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
2.0 KiB
44 lines
2.0 KiB
Npgsql is the open source .NET data provider for PostgreSQL. It allows you to connect and interact with PostgreSQL server using .NET.
|
|
|
|
## Quickstart
|
|
|
|
Here's a basic code snippet to get you started:
|
|
|
|
```csharp
|
|
var connString = "Host=myserver;Username=mylogin;Password=mypass;Database=mydatabase";
|
|
|
|
await using var conn = new NpgsqlConnection(connString);
|
|
await conn.OpenAsync();
|
|
|
|
// Insert some data
|
|
await using (var cmd = new NpgsqlCommand("INSERT INTO data (some_field) VALUES (@p)", conn))
|
|
{
|
|
cmd.Parameters.AddWithValue("p", "Hello world");
|
|
await cmd.ExecuteNonQueryAsync();
|
|
}
|
|
|
|
// Retrieve all rows
|
|
await using (var cmd = new NpgsqlCommand("SELECT some_field FROM data", conn))
|
|
await using (var reader = await cmd.ExecuteReaderAsync())
|
|
{
|
|
while (await reader.ReadAsync())
|
|
Console.WriteLine(reader.GetString(0));
|
|
}
|
|
```
|
|
|
|
## Key features
|
|
|
|
* High-performance PostgreSQL driver. Regularly figures in the top contenders on the [TechEmpower Web Framework Benchmarks](https://www.techempower.com/benchmarks/).
|
|
* Full support of most PostgreSQL types, including advanced ones such as arrays, enums, ranges, multiranges, composites, JSON, PostGIS and others.
|
|
* Highly-efficient bulk import/export API.
|
|
* Failover, load balancing and general multi-host support.
|
|
* Great integration with Entity Framework Core via [Npgsql.EntityFrameworkCore.PostgreSQL](https://www.nuget.org/packages/Npgsql.EntityFrameworkCore.PostgreSQL).
|
|
|
|
For the full documentation, please visit [the Npgsql website](https://www.npgsql.org).
|
|
|
|
## Related packages
|
|
|
|
* The Entity Framework Core provider that works with this provider is [Npgsql.EntityFrameworkCore.PostgreSQL](https://www.nuget.org/packages/Npgsql.EntityFrameworkCore.PostgreSQL).
|
|
* Spatial plugin to work with PostgreSQL PostGIS: [Npgsql.NetTopologySuite](https://www.nuget.org/packages/Npgsql.NetTopologySuite)
|
|
* NodaTime plugin to use better date/time types with PostgreSQL: [Npgsql.NodaTime](https://www.nuget.org/packages/Npgsql.NodaTime)
|
|
* OpenTelemetry support can be set up with [Npgsql.OpenTelemetry](https://www.nuget.org/packages/Npgsql.OpenTelemetry) |