Работа с PostgreSQL в C# с помощью библиотеки Npgsql
Npgsql - это .NET драйвер для работы с базами данных PostgreSQL. Он позволяет соединяться с PostgreSQL сервером, отправлять запросы, получать результаты и многое другое.
Npgsql прекрасно подходит для работы с PostgreSQL из .NET приложений и предлагает широкий спектр функциональности, такой как поддержка сопрограмм для асинхронного доступа к данным, поддержка транзакций и многое другое.
Например, для подключения к базе данных PostgreSQL с помощью Npgsql можно использовать следующий код:
csharp
using Npgsql;
...
var connString = "Host=localhost;Username=myuser;Password=mypassword;Database=mydatabase";
using var conn = new NpgsqlConnection(connString);
conn.Open();
Далее можно отправлять запросы к базе данных. Например, следующий код выводит список всех таблиц в базе данных:
csharp
var tableNameQuery = @"SELECT table_name FROM information_schema.tables WHERE table_schema='public'";
using var cmd = new NpgsqlCommand(tableNameQuery, conn);
using var reader = cmd.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(reader.GetString(0));
}
Также Npgsql позволяет использовать параметры в запросах, что полезно как для обеспечения безопасности, так и для улучшения производительности:
csharp
var empId = 1;
var empName = "John Smith";
var insertQuery = "INSERT INTO mytable(id, name) VALUES (@id, @name)";
using var cmd = new NpgsqlCommand(insertQuery, conn);
cmd.Parameters.AddWithValue("id", empId);
cmd.Parameters.AddWithValue("name", empName);
cmd.ExecuteNonQuery();
Кроме того, Npgsql поддерживает многое другое, включая поддержку PostgreSQL типов данных, таких как массивы и JSON, и многопоточную обработку запросов, что делает его одним из наиболее полезных и эффективных драйверов для PostgreSQL в .NET среде.