F# を既存の Postgresql データベースに接続して、開発中にデータベースの種類を利用できるようにしようとしています (Type Providers または Entity Framework、またはそれらの組み合わせを介して)。
生の接続は、Npgsqlを使用して簡単に行うことができます。たとえば、次のコード セグメントは、F# を使用して Postgres テーブルの内容を出力します。
open Npgsql
let connectionString = "(my postgres connection string)"
let getResultSet (connection:NpgsqlConnection) (queryString:string) =
let command = new NpgsqlCommand(queryString, connection)
let dataReader = command.ExecuteReader()
seq {
while dataReader.Read() do
yield [for i in [0..dataReader.FieldCount-1] -> dataReader.[i]]
}
let printResults =
let conn = new NpgsqlConnection(connectionString)
conn.Open()
try
let resultSet = getResultSet conn "select * from myTable;"
for r in resultSet do
for d in r do
printf "%s\t" (d.ToString())
printfn ""
finally
conn.Close()
このセットアップ用のタイプ プロバイダーを取得する、または F# で Postgresql で Entity Framework を使用できるようにする最善の方法は何ですか?