C#.NET + PostgreSQL
8 answers
Estou a trabalhar com C# e Postgres usando o componente Npgsql2, e eles trabalham depressa, eu recomendo-te.
Pode obter a partir de https://github.com/npgsql/Npgsql/releases
Nota: Se você quer um aplicativo que funciona com qualquer banco de dados que você pode usar o DbProviderFactory classe e fazer suas consultas usando IDbConnection, IDbCommand, IDataReader e/ou IDbTransaction interfaces.
Npgsql -. Net Provedor para PostGreSQL-é um excelente driver. Se você usou o mais tradicional ADO.NET neste contexto, estão realmente com sorte. Tenho um código que se liga à Oracle que parece quase idêntico às ligações pós-Gresql. É mais fácil fazer a transição do Oráculo e reutilizar células cerebrais.
Ele suporta todas as coisas padrão que você gostaria de fazer com chamar SQL, mas também suporta chamar Funções (procedimentos armazenados). Presente inclui a devolução de cursores de referência . A documentação é bem escrita e fornece exemplos úteis sem ficar filosófico ou Arcano. Roube o código da documentação e ele vai funcionar instantaneamente.
Francisco Figueiredo, Jr e sua equipe fizeram um ótimo trabalho com isso.Está agora disponível em .
https://github.com/franciscojunior/Npgsql2
O melhor site para informações e: http://npgsql.projects.postgresql.org/
Leia a documentação! http://npgsql.projects.postgresql.org/docs/manual/UserManual.htmlExiste um fornecedor de Linq para o PostgreSQL em https://www.nuget.org/packages/linq2db.PostgreSQL/.
Hoje em dia, a maioria das linguagens/plataformas (Java,. net, PHP, Perl, etc.) pode trabalhar com quase qualquer DBMS (SQL Server, Firebird, MySQL, Oracle, PostgresSQL etc. por isso não me preocuparia nem por um segundo. Claro que pode haver falhas e pequenos problemas, mas nenhum showstopper.
Como o jalcom sugeriu, você deve programar contra um conjunto de interfaces ou pelo menos um conjunto de classes de base (DbConnection, DbCommand e assim por diante) para ter uma aplicação facilmente adaptável.
Basta ir para a ferramenta-->NuGet Package Manager-- > Manager Nuget Package Manager
Procurar por NpgSql e depois seleccionar o seu projecto e carregar em Install
Código Da Amostra
public void Demo()
{
NpgsqlConnection connection = new NpgsqlConnection();
connection = d_connection; // your connection string
connection.Open();
NpgsqlCommand cmd = new NpgsqlCommand();
try
{
cmd.Connection = connection;
cmd.CommandText = "select * from your table name";
cmd.CommandType = System.Data.CommandType.Text;
using (var dataReader = cmd.ExecuteReader())
{
while (dataReader.Read())
{
string answer= dataReader.IsDBNull(0) ? "" : dataReader.GetString(0);
}
dataReader.Dispose();
}
}
catch (Exception e)
{
}
finally
{
cmd.Dispose();
connection.Dispose();
}
}
Não utilize a maiúscula no postgreSql porque a sua capitalização é sensível.