I'm looking at working on a project which uses C#.NET (sitting on a windows box) as the primary language and PostgreSQL as the backend database (backend is sitting on a linux box). I've heard that ODBC.NET allows for easy integration of these two components.
Has anyone had experience actually setting C# and PostgreSQL up to work together? If so, do you have any suggestions about how to go about it, issues you've found, etc.?
I'm working with C# and Postgres using Npgsql2 component, and they work fast, I recommend you.
You can download from https://github.com/npgsql/Npgsql/releases
Note: If you want an application that works with any database you can use the DbProviderFactory class and make your queries using IDbConnection, IDbCommand, IDataReader and/or IDbTransaction interfaces.
Npgsql - .Net Provider for PostGreSQL - is an excellent driver. If you have used the more traditional ADO.NET framework you are really in luck here. I have code that connects to Oracle that looks almost identical to the PostGreSQL connections. Easier to transition off of Oracle and reuse brain cells.
It supports all of the standard things you would want to do with calling SQL, but it also supports calling Functions (stored procedures). This includes the returning of reference cursors. The documentation is well written and provides useful examples without getting philosophical or arcane. Steal the code right out of the documentation and it will work instantly.
Francisco Figueiredo, Jr's and team have done a great job with this.
It is now available on Github.
The better site for info is: http://npgsql.projects.postgresql.org/
Read the documentation! http://npgsql.projects.postgresql.org/docs/manual/UserManual.html