LINQ to SQLでPostgreSQLに接続するサンプルです。「dotConnect for PostgreSQL」と「DbLinq」というライブラリを使用します。
dotConnect for PostgreSQL
「dotConnect for PostgreSQL」についてはこちらを参照してください。
PostgreSQLで型付きデータセットとテーブルアダプターを使用する - プログラマーな日々
DbLinq
dblinq2007 - LINQ provider for Oracle, PostgreSQL, MySQL, Ingres, SQLite, Firebird and ... SQL Server (C# 3.0) - Google Project Hosting
2011/07/15現在の最新版である20.1をダウンロードしました。
プロジェクト作成
コンソールアプリケーションプロジェクトを作成し、上記の両ライブラリを参照設定します。
テーブル
DDL
CREATE TABLE fuga_table ( fuga_id integer NOT NULL, fuga_name character varying(255), CONSTRAINT fuga_table_pkey PRIMARY KEY (fuga_id) ) WITH ( OIDS=FALSE ); ALTER TABLE fuga_table OWNER TO postgres;
ソースコード
- Program.cs
using System; using System.Data.Linq.Mapping; using System.Linq; using DbLinq.PostgreSql; using Devart.Data.PostgreSql; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { const string ConnectionString = "..."; HogeDataContext context = new HogeDataContext(new PgSqlConnection(ConnectionString)); var fugas = context.GetTable<fuga_table>(); var q = from fuga in fugas select fuga; foreach (fuga_table table in q) { Console.WriteLine("{0} {1}", table.fuga_id, table.fuga_name); } Console.Read(); } } class HogeDataContext : PgsqlDataContext { public HogeDataContext(PgSqlConnection c) : base(c) { } } [Table] public class fuga_table { [Column] public int fuga_id; [Column] public string fuga_name; } }